Código de ejemplo para la transferencia de fondos a través de bcoin

Soy nuevo en el mundo bitcoin. Yo quería un código de ejemplo para la transferencia de bitcoins de una cuenta bitcoin a otro utilizando javascript y bcoin. Las entradas son clave privada del remitente y la dirección, la dirección del destinatario, y puede ser un cambio de dirección. Yo realmente apreciaría cualquier ayuda.

+817
Robert Dewitt 10 jun. 2019 7:17:32
15 respuestas

Usted debe actualizar su cartera a la última versión de Bitcoin Core (es la misma cosa como bitcoin-qt). Bitcoin-qt 0.8.5 beta es muy antiguo y no es probable para ser capaz de sincronizar el blockchain de Bitcoin. Instalar la última versión de Bitcoin Core de bitcoin.org y se deja sincronizar el resto de la blockchain. Actualizar a la nueva versión no va a eliminar cualquier blockchain o monedero de datos, por lo que el uso de lo que usted ya ha descargado.

+972
Celestine Norris 03 февр. '09 в 4:24

listaddressgroupings parece ser una buena alternativa a la obsoleta listaccounts comando.

+966
imahottguy 25 dic. 2015 10:01:06

Usted podría utilizar pizzaforcoins.

+784
FrozenFire 13 mar. 2019 18:18:46

¿Qué te hace pensar que esto no está implementado?

Bloque de descarga ya está multiproceso y los bloques son descargados fuera de orden. Todo lo que puede ser verificado en un bloque sin necesidad de otros bloques (como el PoW coincidencia de los PoW indicado en el encabezado de bloque, merkle root, etc.) se verifica cuando el bloque es recibido. Todo esto ocurre en hilos separados.

Pero la mayor parte de la verificación es la comprobación de que las operaciones dentro de los bloques son válidos. Esto no puede hacerse sin haber verificado todos los bloques anteriores al ser verificado, por lo que este es, lamentablemente, una serie de funcionamiento que no puede ser paralelizado.

El quid de la cuestión tiene que ver con la UTXO conjunto. Supongamos que el bloque 2 tiene una transacción que pasa una salida creado en una transacción que está en el bloque 1. Si usted recibe el bloque 2 y el inicio de la verificación de las transacciones antes de que usted tiene el bloque 1, entonces usted no será capaz de verificar la transacción cuyo padre(s) se encuentran en el bloque 1. Por lo tanto usted debe esperar para el bloque 1 para ser recibido y verificado antes de que usted pueda verificar el bloque 2.

Por supuesto, usted todavía puede comprobar las otras cosas en el bloque 2 y escribir en el disco en primer lugar, a continuación, proceder a la descarga de más bloques. Estos solo necesitan estar en la cola para la verificación de transacción.

La verificación de transacción implica la adición y eliminación de elementos de la UTXO de la base de datos. Esta base de datos debe estar escrito en el disco lo que significa que habrá un montón de e/S de disco que es generalmente lento. La base de datos se almacena en caché en la memoria, pero se vacían al disco cuando en la memoria caché se llena. Usted puede hacer esto más rápido mediante el aumento de la caché. En el bitcoin.conf, agregue una línea dbcache=<n> , donde <n> es la cantidad de RAM en MiB que quieres dedicar a la memoria caché.

El valor predeterminado dbcache es de 450 Mb, por lo que el establecimiento de un dbcache valor de más de 450 aumentará la velocidad de sincronización, más de la base de datos se almacena en caché y, por tanto, menos e/S de disco es necesario. Un dbcache de 8000 es suficientemente grande como para que toda la base de datos va a caber en la memoria y por lo tanto sólo se puede escribir en el disco una vez. Si tienes suficiente RAM para esto, a continuación, configuración de la dbcache=8000 permitirá de la forma más rápida de sincronización de tiempo.

+692
Bella Walker 14 oct. 2017 19:49:45

Supongamos que Alicia quiere agregar una transacción ficticia donde recibe X cantidad de BTC. Entiendo que con el fin de añadir que la transacción a la blockchain ella tendría que competir contra todos los otros mineros para generar el siguiente bloque, lo que hace improbable que suceda como a un individuo en contra de ellos.

Ahora, si nos fijamos en la siguiente figura (tomada de blockchain.info), que muestra la minería de piscinas con más alta tasa de hash en la red:

enter image description here

vemos que, por ejemplo, la minería de la piscina BTC.com ha 26.4% tasa de hash de la red, y por lo tanto viene mi pregunta: ¿por Qué no todos los mineros en esta piscina de llegar a un acuerdo mediante la adición de falsas transacciones a todos los bloques que generan? De manera diferente que el del caso anterior, donde Alice era una persona con casi ninguna oportunidad para generar una alteración del bloque, la piscina puede hacer que sea muy probable.

+689
rezaldy ananda 27 may. 2013 0:57:22

Ambos bloques están indexados y almacenado. La ampliación de bloque en la que fue recibido por primera vez se representa como un elemento de la matriz con los links/los punteros a las cabeceras de los fuertes de la cadena: las Cadenas son representados como las matrices con los enlaces que apuntan a los encabezados en la tienda.

El segundo bloque es ahora considerada como parte de un "candidato de la cadena", de la cual no puede ser de muchos, con diferentes alturas. La punta de cada rama que emanan de la cadena fuerte es la punta de un candidato de la cadena. Un candidato de la cadena puede ser potencialmente extenderse a la forma fuerte de la cadena si se acumula la mayoría de PRISIONERO de guerra. En este punto, el fuerte de la cadena de elementos de la matriz se metió a la bifurcación de altura, y el nuevo candidato de la cadena de encabezados/bloques se insertan en la cadena fuerte de la matriz/pila. El aparecido elementos de la cadena fuerte que son empujados a un candidato de la cadena de la matriz de la orden respectiva.

Dado que el número de candidatos cadenas es ilimitado, puede no tener sentido para organizar de forma individual a la tienda, pero mantener una de ellas por separado como una estructura de datos (árbol). Además, dado el costo de auch ramas en la actual cadena de alturas, ellos tienden a ser de corto. El riesgo de reorg es más probable que con el "2º" la más alta de la cadena, por lo que mantener esto en almacén persistente puede optimizar más rápido reorgs si el nodo se reinicia (indexado otros candidatos cadenas en la memoria se pierde y necesita ser reconstruido, pero menos probabilidades de superar a la de los fuertes de la cadena). Por supuesto, una aplicación puede persistentemente índice arbitrario limitada número de candidatos cadenas dependiendo del objetivo de diseño.

+646
Teun D 15 ene. 2018 10:43:07

Estoy construyendo un Bitcoin wallet con el BitcoinJ de la Biblioteca, después de mirar el ejemplo de recuperación de una transacción que han demostrado en su github muestra que usted necesita para descargar el blockchain sin embargo.

Al intentar descargar el blockchain para ver el saldo de mi cartera, comienza a bloquear y quedar inutilizable. Incluso he intentado descargar el blockchain en una tarea asíncrona como tal, pero aún así la aplicación se convierte en inutilizable y la interfaz de usuario no uniforme de la carga. Lo que me estoy perdiendo? Pensé que la descarga no sería tan grande como yo estoy intentando crear un SPV billetera en la que por lo que entiendo no se me descarga todo el blockchain, o es algo que tengo que configurar por separado?

la clase MainActivity : AppCompatActivity() {
 anular la diversión onCreate(savedInstanceState: Bundle?) {
DownloadBlockchain().execute()
}

 interior de la clase DownloadBlockchain : AsyncTask<Vacío, Int, String>() {
 anular la diversión doInBackground(vararg p0: Void?): Cadena {
Globals.peerGroup?.startAsync()
Globals.peerGroup?.downloadBlockChain()
 return "completa"
}

 anular la diversión onPostExecute(resultado: Cadena?) {
super.onPostExecute(resultado)
Globals.peerGroup?.stopAsync()
Globals.cartera?.saveToFile(Globals.walletFile)
}
}
}
+639
Frank Russi 5 jun. 2018 17:38:41

No es necesario ser cero transacción en 10 minutos. Cada minero (o piscina) decide que las transacciones se incluyen y se puede elegir incluir nada.

Sin embargo todos los bloques tienen al menos una transacción en la coinbase transacción que incluye el firmante de la recompensa de la dirección. Debe haber uno y sólo uno de coinbase de la transacción para un bloque para ser válido.

El coinbase es donde las nuevas monedas se extraen del aire para aumentar la oferta de dinero. Esta transacción también las transferencias de los honorarios de transacción para el minero. Si el bloque de recompensa (subsidio) y las tasas son ambos cero, a continuación, haga esta operación todavía existen sólo tendrá un valor de cero.

+625
seregakrav 9 oct. 2010 10:50:09

Usted no puede. Bitcoin Core no permite la importación de claves maestras ni puede exportar extendido de claves públicas. BItcoin Core no uso extendido de las claves públicas, ya que utiliza endurecido derivación que no uso extendido de las claves públicas.

+607
Randall Shults 18 nov. 2014 2:35:30

Para el almacenamiento de la semilla recomiendo Cryptosteel. Es impermeable, a prueba de fuego y de acero inoxidable.

cryptosteel description

+603
Raf Kaplon 4 may. 2010 16:11:47

No, no la hay.

Bitcoin es lo que se llama "seudónimo", lo que significa que una dirección bitcoin no revelar información sobre el propietario de esa dirección. Bitcoin direcciones (como el que has publicado) son derivados por el uso de dos tipos de operaciones criptográficas, curvas elípticas y las funciones de hash...ambos de los cuales sólo funciona en una dirección. Incluso si usted podría revertir este proceso para una dirección dada, todo lo que tienes es una clave privada. Que la clave privada no contiene ninguna información acerca de en que se generó la clave, ni que otras teclas/direcciones están asociados con él.

Hay blockchain técnicas de análisis que se pueden realizar para intentar asociar una dirección bitcoin con otras direcciones (con un variable grado de certeza), pero incluso eso no le dará lo que usted está buscando a menos que se puede asociar a una de esas direcciones con la identidad de alguien. Esto requeriría su consulta para ser complementado con información adicional que no se encuentra en el blockchain de Bitcoin. Si usted no posee que la información adicional, usted puede asociar una dirección con una identidad.

+303
Soumya 7 jun. 2014 14:11:02

Verificar() comprueba si la transacción está correctamente firmado.

Desde que Verificar() en realidad no nos dice si una transacción con éxito se propagan

Es incierta o usted encuentra un error.

nodo.SendMessage(nueva TxPayload(tx)); debe ser perfecto. Sin embargo Stratis es en la actualidad la construcción de un Bitcoin .NET fullnode, con el liderazgo de Nicolás Dorier, NBitcoin del creador, por lo que debe estar seguro de que el método que están utilizando es hasta la fecha. En sus pruebas, lo están haciendo de una manera un poco diferente:

nodo.VersionHandshake();
nodo.SendMessageAsync(nueva InvPayload(transacción));
nodo.SendMessageAsync(nueva TxPayload(transacción));
nodo.De ping-pong();

No puedo explicar por qué dos SendMessageAsync y de ping-pong está ahí. Usted podría querer averiguar.

Para asegurarse de que usted podría preguntar a algunos otros nodos si tienen la transacción en su mempool la que estás conectado, para comprobar la propagación. Como este:

bool difundido = false;
foreach(var txid en el nodo.GetMempool())
{
si(txid.Es igual a(tx.GetHash()))
{
 difundido = true;
}
} 

Alternativamente, usted puede pedir su único nodo. Tengo la fuerte sospecha de que la transacción no se metan en su (Bitcoin Core) mempool si hay algo mal, pero usted no debe confiar en que. La teoría no siempre se imita la práctica.

Las preocupaciones de privacidad: si la emisión de una transacción sin Tor, los interesados pueden observar y llegar a conclusiones.

+232
Avery Amell 14 jun. 2013 8:31:50

Lo que se necesita para crear un nuevo grupo fusionado con la minería? (Bitcoin, NameCoin, y, posiblemente, otros)?

Me gustaría crear un nuevo grupo que se

  • Incluyen los honorarios de la transacción en la liquidación
  • No se cobra tarifas de la piscina
  • Alojado en Amazon (Baja latencia)
  • Hacer combinadas de minería de datos si que no genera ineficiencia

Estoy interesada en el software, o de conocimiento general que me inició en la dirección correcta.

+217
hooke 23 jun. 2014 19:02:07

Las personas son definitivamente el gasto de bitcoins--BitPay Inc procesado más de 5.2 Millones de dólares en comercio electrónico en Marzo de 2013, y que fue antes de que el pleno de los medios de exceso de abril. Algunos extractos de su blog:

Este eCommerce actividad de comerciantes de venta de los equipos, de los consumidores electrónica, metales preciosos, e incluso servicios gubernamentales probable eclipsado la actividad ilícita ampliamente estimado de sitios como la Seda Carretera.

BitPay también ha aprobado más de 1.300 nuevas aplicaciones mercante durante el mes de Marzo, con lo que su número total de aprobados de los comerciantes a más de 4.500. El crecimiento explosivo en BitPay de negocios que viene después De febrero de procesamiento de pago del volumen de $687,000 en las transacciones con 2,300 completado las facturas.

BitPay es incluso contratar ahora mismo, aunque para los ingenieros de software en lugar de los administradores de sistemas.

Del mismo modo, Coinbase informó recientemente que están procesamiento de 15 Millones de dólares por mes. Su negocio es una combinación de comercio electrónico y de la actividad de Intercambio, sin embargo.

Hablando más específicamente acerca de su deseo de ser pagado en bitcoins, la Empresa finlandesa SC5 y el Archivo de Internet son bien conocidas las empresas que han decidido dar a sus empleados la opción de recibir compensación parcial en bitcoins; mientras que Expensify apoya a Bitcoin como una opción para que los empleados de reembolso, centrándose especialmente en el internacional de casos de uso.

Nota el "parcial" de la parte de arriba, sin embargo. Bitcoin es muy bueno en ciertas cosas, pero probablemente no es muy buena por ser toda su salario, al menos no en la actualidad. Bitcoin se desarrolla en el ser global, irreversible y rápida, no es estable. Soy un gran Bitcoin ventilador, y te aconsejo tomar su salario, al menos en parte en algo más. Que aspiraría a tener una fluctuación de mercado limpie su capacidad para pagar las facturas! Es mejor tener y usar cantidades de Bitcoin puede permitirse el lujo de perder, viendo cómo la tecnología está aún en una etapa inicial y experimental.

+177
1halfazn 30 jun. 2013 20:54:03

Puede configurar una transacción o contrato en que expresa su voluntad de transferencia específicos de bitcoins a otra persona:

De los contratos. Ejemplo 4: Uso externo de estado:

Los Scripts son, por diseño, puro funciones. Ellos no pueden encuesta externa los servidores o importación de cualquier estado que puede cambiar a medida que permitiría un atacante para correr más rápido que el bloque de la cadena. Pero podemos hacer transacciones conectado con el mundo de otras maneras.

Considere el ejemplo de un hombre viejo que quiere dar una herencia a su nieto, ya sea en el nieto de su 18 cumpleaños o cuando el el hombre muere, lo que ocurra primero.

Para resolver esto, el hombre se envía primero el monto de la herencia a sí mismo, de modo que hay una sola salida de la cantidad correcta. Entonces él crea una transacción con un tiempo de bloqueo de el nieto de su 18 cumpleaños que paga las monedas para otra tecla de propiedad por el nieto, firma, y se la da a él - pero no la difusión. Esta se ocupa de el cumpleaños número 18 de condición. Si la fecha de pases, el nieto las emisiones de la transacción y de las reclamaciones de las monedas. Él podría hacerlo antes de entonces, pero no le consigo las monedas anteriores, y algunos nodos puede elegir a la caída de las transacciones en la piscina de la memoria con tiempos de bloqueo de lejos en el futuro.

La muerte condición es más difícil. Como Bitcoin nodos no se puede medir arbitraria condiciones, debemos confiar en una de oracle. Un oráculo es un servidor que tiene un par de claves, y los signos de las transacciones en la solicitud cuando la proporcionados por el usuario expresión se evalúa como true.

...

No estoy seguro de si este mecanismo es lo suficientemente flexible como para ser utilizado si usted no está seguro de la cantidad que debe ser transferido o a partir de la cual la dirección (porque usted lo desea, puede realizar algunas operaciones con los bitcoins después de ajustar la "herencia de la transacción"; tal vez, simplemente puede generar y almacenar una transacción cada vez que la cantidad o la dirección de los cambios).

+146
John Faughnan 14 jul. 2018 9:15:33

Mostrar preguntas con etiqueta