Enviar una transacción con bitcoinjs-lib para testnet en una caja

He reunido algunas código utilizando bitcoinjs-lib que me permite crear un testnet de la transacción y enviar algunos bitcoins desde una dirección a otra.

Pero me estoy cansando de esperar 10 minutos después de cada prueba. Me gustaría ser capaz de poner a prueba mi código un poco más rápido.

Puedo configurar testnet-in-a-box en una máquina virtual y han jugado con un par de comandos y funciona bien.

Pero cuando intento enviar una transacción a uno de los nodos en 127.0.0.1:19000 me da un error que dice:

{ [Error: socket colgar] código: 'ECONNRESET' }

Estoy de radiodifusión de la transacción, como se muestra aquí el uso de:

blockchain.t.de las transacciones.propagar(tx.build().toHex(), se hace)

¿Qué estoy haciendo mal? No es posible efectuar transacciones con el nodo de testnet-in-a-box?

Cualquier ayuda será apreciada! Gracias!

+758
LeyendaUrbana 3 may. 2010 2:06:01
26 respuestas

parece ser que hay algunos bitcoind procesos que tienen zombied y escuchar a su puerto. intente ejecutar este comando para matar a los otros procesos

killall -9 bitcoind
+869
KellyTheDude 03 февр. '09 в 4:24

He creado una transacción con alta minero del cargo que ahora está en mempool que no se confirman:

https://live.blockcypher.com/btc-testnet/tx/abcc4ce473f490896e87102fe3ffb857ff735a0fc97525dadf9c5b0ed5410f9f/

A partir de una pregunta anterior, he sido informado de que la razón más probable de esto es que no hay datos integrado con un no-estándar (o "desconocido" protocolo). He de entrada "hola_mundo" como un OP_RETURN secuencia de comandos. Cómo puedo hacer un protocolo de conocidos, de modo que la transacción puede ser confirmado? Hay una lista de protocolos conocidos en algún lugar?

+800
Daniel R 16 dic. 2018 18:29:46

La cantidad de hashes por segundo el hardware realiza se basa únicamente en su hardware y software.

La velocidad actual de la red es irrelevante para lo mucho que su contribución va a ganar. La única cosa que importa es la dificultad actual. Una cantidad de la mezcla por encima o por debajo del nivel de dificultad de indicar la dirección de la siguiente dificultad de ajuste, pero para el siguiente bloque, minería de datos devuelve dependen de la dificultad y nada más.

He aquí una hoja de cálculo con los datos en bruto:

Y aquí está la dificultad gráfico (azul):

enter image description here

+733
Better Shao 14 nov. 2011 3:24:03

Breadwallet pueden barrer a las claves privadas: https://www.youtube.com/watch?v=WJ7-4Hv5Kq4

AFAIK, no hay iOS carteras que permite la importación de claves privadas.

+680
user64205 26 dic. 2014 3:14:46

Saber absolutamente nada acerca de cómo funciona esto, me gustaría que postula:

  • que otros para conseguir el mismo trabajo
  • el tiempo de masticar los datos, mayor es la probabilidad de que alguien ya ha solucionado el problema
  • incluso si este está a la espera de la red en cada iteración, se inicia el 1-segundo temporizador después de conseguir el trabajo
+600
falsarella 25 ene. 2016 14:22:12

El siguiente protocolo se basa en Proporcionar un fuerte ejemplo de contrato y de la respuesta anterior.

Cuando la colocación de una oferta, el oferente y el subastador hacer lo siguiente:

  1. Tanto generar nuevas claves públicas.
  2. El postor genera una transacción (depósito) que envía su oferta a un multisignature secuencia de comandos que requieren firmas de ambos recién claves generadas para gastar. Entonces él envía su IDENTIFICADOR para el subastador.
  3. El subastador genera una transacción (retorno), que pasa de depósito y envía el dinero a los postor. Él establece su tiempo de bloqueo (nLockTime) poco tiempo después de terminar la subasta. También genera una transacción (de pago) que pasa de depósito y envía el dinero a sí mismo.

    El subastador los signos de retorno, pero no de pago. Tanto las transacciones no son válidas sin la oferente de la firma. Él envía a ambas transacciones para el licitante.

  4. El postor, se comprueba que las transacciones son como se esperaba, y que el subastador de la firma en el retorno es válido. Él emisiones de depósito. Él también signos de pago y lo envía a la casa de subastas.
  5. El subastador comprueba el oferente de la firma en el pago. Tan pronto como el depósito está confirmado, el postor dinero está bloqueado y no puede ser pasado por el licitador hasta que la subasta es completa.
  6. Después de la subasta, el subastador los signos y las emisiones de pago de la transacción correspondiente a la oferta ganadora. Otros licitadores pueden tener sus ofertas devuelto por la radiodifusión de retorno de la transacción cuando se hace válido, o se puede cooperar con el subastador tener sus ofertas devueltos de inmediato.

Ahora, hay un pequeño problema: el subastador puede reclamar varias ofertas. Para resolver esto, tenemos el subastador proporcionar una pequeña ancla de salida y hacer todos los pagos de la transacción pasar esta salida. Ahora en la mayoría de los una de las de pago de las transacciones puede ser aceptada por la red. Por supuesto, los licitantes necesitan para comprobar que el pago pasa que la salida antes de la firma de la misma, así como para asegurarse de que el mismo anclaje se utiliza para todos los licitadores.

+514
unkledarc 12 sept. 2017 16:04:56

Abra una ventana de terminal y escriba en la parte superior. Esto le dará una lista de todos los procesos en ejecución en su sistema. Utilice las teclas de arriba/abajo para desplazarse a través de él, y buscar bitcoind o bitcoin-qt.

Una vez que lo encuentres, tenga en cuenta el número de proceso. Hit k, tipo en el que el número de proceso, pulse enter, tipo 9, pulse enter. Que debe matar a bitcoin.

Luego presione q para salir de la parte superior.

Alguien espera debe ser capaz de ayudar con la eliminación de bitcoin parte.

+489
Zelenolapik 21 mar. 2017 6:43:37

Estoy trabajando en un proyecto que me obliga a tomar una Electrum mnemónico, determinar su tipo y se derivan de las direcciones correspondientes para que la cartera.

He encontrado un montón de información sobre cómo determinar el mnemónico tipo y convertir en el maestro de la semilla, pero yo estoy luchando para entender cómo las direcciones para el 2FA cartera de derivados. Para ser más exactos, yo era capaz de derivar ambos extendida de pares (x1/ y x2/ en la cartera de archivo), pero me parece que no puede ser capaz de obtener el tercer xpub (x3/ en la cartera de archivo).

He mirado a través del código fuente y parece que esta clave se deriva de la combinación de ambas xpub teclas (teclas debe ser ORDENADO) que pueden ser derivadas a partir de inóculos (x1/ y x2/), hash ellos el uso de SHA-256 y el uso de que como el índice al derivar la tercera xpub. Una rígida xpub se utiliza como la raíz.

Estoy teniendo problemas para entender y poner en práctica esto porque el SHA-256 algoritmo devuelve 32 bytes de datos y el niño índice tiene que ser de 4 bytes de longitud (según la BIP32 especificación).

Aquí está el código de Electrum que se encarga de esto.

def get_user_id(almacenamiento):
 def make_long_id(xpub_hot, xpub_cold):
 volver bitcoin.sha256(".únete a(ordenada([xpub_hot, xpub_cold])))
 xpub1 = almacenamiento.get('x1/')['xpub']
 xpub2 = almacenamiento.get('x2/')['xpub']
 long_id = make_long_id(xpub1, xpub2)
 short_id = hashlib.sha256(long_id).hexdigest()
 volver long_id, short_id

def make_xpub(xpub, s):
 versión, _, _, _, c, cK = deserialize_xpub(xpub)
 cK2, c2 = bitcoin._CKD_pub(cK, c, s)
 volver bitcoin.serialize_xpub(versión, c2, cK2)

Las funciones se llaman así:

xpub1 = asistente.de almacenamiento.get('x1/')['xpub']
xpub2 = asistente.de almacenamiento.get('x2/')['xpub']
# Generar tercera clave determinista.
long_user_id, short_id = get_user_id(asistente.de almacenamiento)
xpub3 = make_xpub(signing_xpub, long_user_id)

El long_user_id es de 32 bytes de largo, ya que es el resultado de la SHA-256 de la función y, a continuación, se utiliza para llamar a la make_xpub() función que se supone tendrá en 4 bytes de datos a medida que el niño índice.

Lo que me estoy perdiendo aquí? Cualquier aporte es apreciado.

+449
Eric Peterson 13 may. 2019 0:39:56

La respuesta corta es "sí", (por ejemplo, http://mpex.co/). El tiempo de respuesta es "no, realmente no, y por algunas razones fundamentales". Aquí está la respuesta larga.

Los diversos sistemas que se han implementado o se discuten para la venta en corto de BTC se enfrentan con el problema de riesgo de crédito. El corto vendedor de un activo se enfrenta a la posibilidad de que arbitrariamente grandes pérdidas (el lado largo sólo puede perder su inversión). Lo mismo para el vendedor de una opción (put o call).

El sistema financiero se refiere con esto al exigir el corto post margen inicial, y la parte superior hasta con un margen de variación que si él pierde el dinero. En el caso de no hacerlo, o si el mercado se mueve tan rápidamente que él no puede, el broker con el que le prestó el stock asume el riesgo y trata de cerrar la posición (posiblemente en una pérdida para el corredor). El mecanismo es un poco diferente con futuros y opciones sobre futuros, pero el punto es el mismo: alguien asume el riesgo de que el comerciante mantener una posición que puede sufrir arbitrariamente grandes pérdidas (corto vendedor, corta las opciones de posición, etc) para asegurarse de que el otro lado de el comercio se realiza a todo. Si su tiempo en la misma posición, por ejemplo, no proporciona la rentabilidad de perfil cuando el mercado se bloquea porque el hombre que vendió el puesto se fue a la quiebra.. así, el contrato realmente no ha cumplido su función.

El mecanismo para hacerlo es intermediarios financieros--intermediarios, bolsas, cámaras de compensación-y el recurso legal. El intermediario tiene una demanda en el corto activos más allá de su margen y pueden demandar de él. El tiempo tiene un reclamo por el intermediario de los activos, y si el intermediario falla, bueno, el contribuyente pasos y le hace de todo (por ejemplo, el Tesoro del rescate de AIG corto CDS posiciones vis-a-vis los principales wall st. los bancos de inversión). Lo que da a estos contratos de liquidez es la creencia de que la rentabilidad de la lógica se cumple independientemente de que el riesgo de crédito de las contrapartes.

Pero el recurso legal es la antítesis de todo el bitcoin filosofía, por lo que yo diría que esos tratando de volver a crear estos inherentemente aprovechado los contratos del sistema financiero en bitcoin tierra están tratando de cuadrar el círculo. Ahora usted puede decir, "podemos volver a crear el mismo sin la ley y de los intermediarios, el corto del contador de la parte que asume el riesgo", pero eso sería perder el punto. Una opción que sólo paga el largo valor intrínseco hasta el corto del margen no es ya una opción, sino algo más; un préstamo de acciones del mercado que deja el tipo de préstamo btc a corto-vendedor con una pérdida porque btc se congregaron duro y corto se alejó de el comercio no sea el stock de préstamos, pero uno muy arriesgado comercio. Llámelo como quiera, pero estos del contrato no puede realmente servir a la misma función en bitcoin de la tierra que sirven en el sistema financiero regulado. Tal vez esa es una característica, no un bug ;)

+439
user3493783 18 jul. 2011 11:01:53

Por supuesto, usted puede :) Bitcoin completo nodo mantiene una blockchain base de datos en la máquina local.
Aquí está una guía paso a paso las instrucciones para obtener la génesis de la información de la transacción.

  • Encontrar el bloque de datos de archivo.s En mac, que se localiza en "~/Library/Application Support/Bitcoin/bloques/blkxxxxx.dat"
  • Usar el dado por el siguiente código para descifrar la génesis de bloque
  • Ahora tienes todos los detalles acerca de la génesis de bloque y el coinbase transacción en la génesis de bloque, incluyendo tx_version, tx_input_num, tx_prev_output, script_length, scriptsig, secuencia, tx_output_num ...
  • importación struct # hacer conversación entre Python y valores C structsrepresented como cadenas de Python
    importación StringIO # Lee y escribe un búfer de cadena
    importación de mmap # mutable de la cadena de
    
    clase BCDataStream(objeto):
     def __init__(self):
     auto.de entrada = Ninguno
     auto.read_cursor = 0
    
     def claro(self):
     auto.de entrada = Ninguno
     auto.read_cursor = 0
    
     def escritura(auto, bytes): # Inicializar con cadena de bytes
     si el auto.la entrada es Ninguno:
     auto.de entrada = bytes
    otra cosa:
     auto.entrada += bytes
    
     def map_file(self, archivo, inicio): # Inicializar con bytes de archivo
     auto.de entrada = mmap.mmap(archivo.fileno(), 0, acceso=mmap.ACCESS_READ)
     auto.read_cursor = inicio
     def seek_file(auto, posición):
     auto.read_cursor = posición
     def close_file(self):
    auto.de entrada.close()
    
     def read_string(self):
     # Cadenas de caracteres están codificados dependiendo de la longitud:
     # 0 252 : de 1 byte de longitud seguido por bytes (si alguno)
     # 253 a 65.535 : byte'253' 2 bytes de longitud seguido por bytes
     # 65,536 a 4.294.967.295 : byte '254' de 4 bytes de longitud seguido por bytes
     # ... y el cliente Bitcoin está codificado para entender:
     # mayor que 4,294,967,295 : byte '255' 8 bytes de longitud, seguido por los bytes de la cadena
     # ... pero no creo que realmente se encarga de todas las cadenas que grande.
     si el auto.la entrada es Ninguno:
     elevar SerializationError("llame al escriba a(bytes) antes de intentar deserializar")
    
    probar:
     longitud = auto.read_compact_size()
     excepto IndexError:
     elevar SerializationError("intento de leer más allá del final de buffer")
    
     devolver el auto.read_bytes(longitud)
    
     def write_string(self, string):
     # Longitud codificado como con la lectura de la cadena de
    auto.write_compact_size(len(cadena))
    auto.write(cadena)
    
     def read_bytes(self, longitud):
    probar:
     resultado = auto.la entrada[auto.read_cursor:auto.read_cursor+longitud]
     auto.read_cursor += longitud
     resultado
     excepto IndexError:
     elevar SerializationError("intento de leer más allá del final de buffer")
    
     volver "
    
     def read_boolean(self): return self.read_bytes(1)[0] != chr(0)
     def read_int16 (self): return self._read_num('<h')
     def read_uint16 (self): return self._read_num('<H')
     def read_int32 (self): return self._read_num('<i')
     def read_uint32 (self): return self._read_num('<I')
     def read_int64 (self): return self._read_num('<q')
     def read_uint64 (self): return self._read_num('<Q')
    
     def write_boolean(self, val): return self.write(chr(1) si val más chr(0))
     def write_int16 (self, val): return self._write_num('<h', val)
     def write_uint16 (self, val): return self._write_num('<H', val)
     def write_int32 (self, val): return self._write_num('<i', val)
     def write_uint32 (self, val): return self._write_num('<I', val)
     def write_int64 (self, val): return self._write_num('<p', val)
     def write_uint64 (self, val): return self._write_num('<P', val)
    
     def read_compact_size(self):
     size = ord(auto.la entrada[auto.read_cursor])
     auto.read_cursor += 1
     si tamaño == 253:
     size = auto._read_num('<H')
     elif tamaño == 254:
     size = auto._read_num('<I')
     elif tamaño == 255:
     size = auto._read_num('<Q')
     tamaño de retorno de la
    
     def write_compact_size(auto, tamaño):
     si el tamaño de la < 0:
     elevar SerializationError("intento de escribir con un tamaño < 0")
     elif tamaño < 253:
    auto.write(chr(tamaño))
     elif tamaño < 2**16:
    auto.write('\xfd')
     auto._write_num('<H', tamaño)
     elif tamaño < 2**32:
    auto.write('\xfe')
     auto._write_num('<I', tamaño)
     elif tamaño < 2**64:
    auto.write('\xff')
     auto._write_num('<P', tamaño)
    
     def _read_num(self, formato):
     (i,) = struct.unpack_from(formato de auto.entrada de auto.read_cursor)
     auto.read_cursor += struct.calcsize(formato)
     volver yo
    
     def _write_num(auto, el formato, num):
     s = struct.pack(formato, num)
    auto.escribir(s)
    
    
    def import_blkdat():
    pasar
    
    
    
    ds = BCDataStream()
    archivo = open("/Usuarios/junton/Library/Application Support/Bitcoin/bloques/blk00000.dat", "rb")
    ds.map_file(archivo, 0)
    
    # Leer el archivo
    # https://bitcoin.org/en/developer-reference#block-headers
    # https://en.bitcoin.it/wiki/Protocol_specification#block
    la magia = ds.read_bytes(4).encode('hex')
    block_size = int(ds.read_bytes(4).encode('hex'), 16)
    versión = ds.read_bytes(4).encode('hex')
    prev_header_hash = ds.read_bytes(32).encode('hex')
    merkle_root_hash = ds.read_bytes(32).encode('hex')
    timestamp = ds.read_bytes(4).encode('hex')
    nBits = ds.read_bytes(4).encode('hex')
    nonce = ds.read_bytes(4).encode('hex')
    
    num_of_transaction = ds.read_bytes(1).encode('hex')
    tx_version = ds.read_bytes(4).encode('hex')
    tx_input = ds.read_bytes(1).encode('hex')
    tx_prev_output = ds.read_bytes(36).encode('hex')
    script_length = ds.read_bytes(1).encode('hex')
    scriptsig = ds.read_bytes(int((script_length), 16)).encode('hex')
    secuencia = ds.read_bytes(4).encode('hex')
    tx_output = ds.read_bytes(1).encode('hex')
    BTC_num = ds.read_bytes(8).encode('hex')
    pk_script_len = ds.read_bytes(1).encode('hex')
    pk_script = ds.read_bytes(int(pk_script_len, 16)).encode('hex')
    lock_time = ds.read_bytes(4).encode('hex')
    
    
    print 'magic:' + magia
    print 'block_size:' + str(block_size)
    impresión de la versión: '+ versión
    print 'prevHash:' + prev_header_hash
    print 'merkle_root:' + merkle_root_hash
    imprimir 'timestamp:' + timestamp
    print 'nBits:' + nBits
    print 'nonce:' + nonce
    
    imprimir '--------------------- los Detalles de la Transacción: ---------------------'
    print 'num_of_transaction:' + num_of_transaction
    print 'tx_version:' + tx_version
    print 'tx_input_num:' + tx_input
    print 'tx_prev_output:' + tx_prev_output
    print 'script_length:' + script_length
    print 'scriptsig:' + scriptsig
    print 'de la secuencia:' + secuencia
    print 'tx_ouput_num:' + tx_output
    print 'BTC_num:' + BTC_num
    print 'pk_script_len:' + pk_script_len
    print 'pk_script:' + pk_script
    print 'lock_time:' + lock_time
    
    ds.close_file()
    
    +367
    ECV 16 ene. 2014 10:37:30

    Sé que mi pregunta probablemente será marcado como un duplicado, pero no veo cómo aplicar la respuesta en el caso de un libro de Nano S wallet. No usar el Bitcoin wallet software requieren la descarga de 200 GB? No puedo hacer esto. También pido un par de preguntas más relacionadas con esta situación.

    5 centiBitcoin fue enviado a Coinbase 12 de diciembre y todavía está marcado en su sitio como "Pendiente". Sin embargo, su vínculo con el live.blockcypher.com dice, "No hay ninguna transacción encontrado con el hash [cadena de números y letras]".

    Que fue enviado desde una Segwit habilitado Contabilidad Nano S que había recibido los fondos de Coinbase. Sus Chrome Bitcoin wallet aplicación de las listas de la transacción como "sin confirmar", y su enlace blockchain.info muestra información acerca de la transacción, incluyendo un 'tiempo recibido'.

    La cuota es de 14.781 sat/B, es decir, el 57,5 microBitcoin. Cuántos días debo esperar para esta transacción se procesa? O, ¿cuánto tiempo debo esperar para que la transacción será rechazada por el registro, a fin de que yo pueda respend? O son los fondos encerrado para siempre?

    La que comúnmente se hace referencia a la respuesta dice:

    esperar a ser ignorados por una cantidad desconocida de tiempo hasta que un minero decide proceso y resuelve el bloque; esta puede ser de varios días a varias semanas, posiblemente nunca. Su cartera y cualquier nodo Bitcoin va a mostrar como no confirmados, que su transacción está atascado en el limbo.

    Así, este 5 de cBTC es ahora, literalmente, "sepultados en una mina" y nunca puede ser excavado de vuelta?

    Me puse en contacto Coinbase, sino que simplemente dijo, "voy a pasar su mensaje [de preocupación y apoyo BIP 148 / SegWit] a lo largo de la consideración para el equipo". Son ellos lo que implica que mis fondos están congelados hasta que habilitar SegWit? Por qué no se ya lo han permitido?

    +326
    Christian Geeds Geeding 4 sept. 2016 19:52:02

    Depende del costo de la electricidad, el bloque de la recompensa, la tasa de cambio, la dificultad, y la "Q" de calidad de la máquina (número de hashes por joule). Un interesante evento que tendrá lugar en 2016, es el bloque de recompensa de reducir a la mitad, la cual se explica a continuación. El resultado de todo esto es que no creo que el bloque de recompensa de reducir a la mitad, debe abstenerse de la minería de datos mientras sus costos de electricidad son de menos de 9 centavos de dólar por kW-hora.

    (En la siguiente, estoy suponiendo que el tipo de cambio es de $440 por bitcoin y la dificultad se fija en 93448670796.3238.)

    Un simple (tal vez ingenuo?) cálculo implica que un buen minero con "Q" ~ 2GH/Joule debe ser rentable en el largo plazo en las tasas de cambio vigentes mientras el costo de electricidad es de menos de 19 centavos de dólar por kilovatio-hora.

    Con los mismos parámetros, pero en la mitad de la cuadra recompensa, usted todavía va a ser rentable en el largo plazo, tan largo como el costo de la electricidad es de menos de 9 o 10 centavos de dólar por kilovatio-hora.

    Si usted cree que la publicidad "P" el valor de ~4Gh/joule para S7, a continuación, incluso con el bloque de recompensa reducir a la mitad, todavía puede ser rentable incluso en el más alto costo de la electricidad... sin embargo una vez que el S7 está disponible para usted está disponible para todo el mundo y la dificultad aumentará en consecuencia. En general, la dificultad siempre tiende a aumentar, así que ten cuidado...

    Todos los cálculos presentados anteriormente se realizaron en el fijo de dificultad y el tipo de cambio.

    +325
    ShawnD 6 feb. 2013 1:45:52

    La respuesta de Mallory-Erik se queda un poco corto.

    Bitcoin utiliza una secuencia de Comandos para crear y redimir a la transacción de secuencias de comandos. Pasar a Abordar es el más comúnmente utilizado, pero también es posible secuencia de comandos de otros esquemas. Algunos de ustedes pueden haber oído acerca de que ya se multisignature direcciones, y los contratos.

    Bitcoin Script es un poco limitado, ya que no es Turing-completo, otros que, por ejemplo, de Etereum.

    También echa un vistazo a:

    Usted también puede encontrar las preguntas más interesantes presentadas en virtud de .

    +321
    Stefc 3 oct. 2013 5:45:49

    Por favor, hágamelo saber si he entendido algo mal.

    Digamos que yo quiero crear un nuevo bloque y verificar las transacciones anteriores. Para hacer esto, necesito:

    • Elija de las transacciones que quiero incluir en mi bloque
    • Calcular el Merkle Raíz de estas transacciones
    • Yo elija (?) una marca de tiempo en el cual yo espero a 'crear' este bloque (Es este un general consenso?)
    • Empiezo a calcular hashes concatenando por encima de los valores de y a partir de nonce 0, aumentando a 2^32-1
    • Cuando me encuentro a un hash con suficientes ceros, quiero anunciar mi prueba a la red y cobrar mis honorarios

    Hay un problema aquí: no hay manera de garantizar que existe una solución. Desde entonces esperar la minería de los miembros de la reserva a todos de acuerdo ¿qué operaciones para incluir y que la hora de su uso, puede ser posible que para el bloque no existe ninguna solución.

    Por supuesto, otro de los mineros también experimentan este problema. ¿Y si todos los "grandes" de los mineros elegir bloques que no tiene solución? Podría la red puesto?

    +270
    abatie 7 nov. 2012 18:44:06

    Yo no soy un experto, pero soy buena en la excavación a través de la literatura académica, y esto es lo que he encontrado acerca de SHA3 con relevancia para FPGAs y ASICS (y en comparación con SHA2).


    Tenga en cuenta que este papel se remonta a partir de 2011, el ganador de SHA3 aún no estaba decidido como NIST sólo se libera el SHA3 estándar en 2015. Echa un vistazo a la Keccak resultado en este documento. El ASIC espacio, al menos ASICs con el propósito específico de la mezcla, han evolucionado mucho en los últimos 6 años y los números no son probablemente hasta la fecha.

    Estos gráficos (y las tablas correspondientes) han revelado que Keccak, es el único candidato que de manera consistente a SHA-2 para todos los considerados familias de fpgas y dos, la función de hash variantes (con 256 bits y 512 bits de salida).


    Otro papel, que es muy antiguo y se remonta a 2010 tiene indicios de que Keccak (SHA3) es más rápido que el SHA-256.

    La figura 5 ilustra cómo la arquitectura diferencias afectan a los resultados de rendimiento. Algunas curvas, como las de Keccak y Luffa, son muy empinadas. Esto significa que un pequeño aumento en los rendimientos de la zona una mejora significativa del rendimiento.


    También, no estoy al tanto de cualquier ASICs para Etereum, actualmente están siendo minadas el uso de GPU. Como usted probablemente ya sabe: GPU son magnitudes más lento que el de ASICs siendo así en la MH/s rango no es ninguna sorpresa.

    +266
    user14755 14 feb. 2012 2:01:37

    Aceleración en el bien optimizado funciones de cifrado son difíciles de conseguir. En libsecp256k1 nosotros, por lo general, celebrar un 4% algorítmica speedup. Cifras en el orden de 2x son razonables para el uso de Bitcoin, aunque a mayor podría ser posible en el futuro durante el bloque inicial de descarga desde mucho lotes más grandes podrían ser utilizados.

    Una sola validación en un único núcleo de un rápido de escritorio de grado de la cpu tarda alrededor de 50 microsegundos.

    Otro Q/a es Schnorr por lotes de validación

    +266
    Patinya Amornratananont 24 jul. 2013 3:20:20

    Alguien puede mostrarme la salida de decoderawtransaction cuando la transacción requiere de múltiples firmas, pero no ha sido firmado por bastante gente, y la transacción fue creado mediante createrawtransaction?

    +248
    Platytude 17 ene. 2012 14:51:12

    n es el número de usuarios. Se supone que el número de transacciones es Ө(n), y que el número de nodos que deben conocer todas las transacciones es también Ө(n), por lo que el total de la información (que debe ser reproducidos, verificado y almacenados) es n*Ө(n) = Ө(n^2).

    La hipótesis sobre los nodos requiere aclaración según el contexto, porque no hay ninguna necesidad real para el número de nodos a escala con n.

    k es la constante de proporcionalidad implícita en la Gran notación Theta.

    +214
    Lins 20 mar. 2018 11:45:05

    . /abcoind setgenerate verdadero funcionará

    +139
    user2702772 3 may. 2013 13:26:58

    Las direcciones no son por arte de magia ligada al hardware que se utilice. Si elimina el archivo que contiene las claves privadas para las direcciones, las perderás y por lo tanto perder el acceso a sus Bitcoin.

    Ya que parece que has formateado el disco duro sin necesidad de hacer una copia de seguridad de su carpeta de archivo, sus claves privadas y por lo tanto su Bitcoin se pierden. Usted puede ser capaz de recuperar el archivo utilizando el software de recuperación de archivos tales como Recuva.

    +128
    all2ez 23 jul. 2018 12:18:58

    Sé que para una minería recompensa, un (especial?) la transacción está incluido en el bloque (en el árbol merkle creo?)

    Sí, el llamado coinbase transacción que envía (en la actualidad) 12.5 btc a la dirección de la minería de nodo/piscina/etc.

    Pero, ¿cómo es una tarifa de transacción de pago a exactamente? Es este también un especial de transacción? Me imagino que el remitente de la transacción tiene para, a continuación, incluir también un extra de transacción para el pago de la cuota?

    La cuota se paga de forma implícita y no es un especial de la transacción. Cada transacción tiene algunos insumos (direcciones) y algunas salidas (direcciones). El pago de la transacción es igual a: entradas de valor - valor de salida. por ejemplo, si las entradas son 1btc en total y lo envía a las salidas de un valor total de 0.9995 btc el resto de 0.0005 btc se paga como una tarifa de transacción a la dirección especificada en el coinbase transacción (mineros de dirección).

    +128
    Aniya Lomax 12 dic. 2013 19:48:16

    Usted puede comprar o vender un físico bitcoin como una casacious moneda o BitBill (o incluso una financiado regalo monedero como aLittleBitOfCoin). Ese tipo de cambio no requieren acceso a la computadora. Usted podría sin conexión de exchange billeteras de papel, pero luego hay más razón para cuestionar el secreto de la clave privada.

    +125
    mattnaik 7 nov. 2019 16:26:14

    Alguien aquí el uso de cryptocompare api? Dónde sería el mejor lugar para hacer preguntas sobre ella?

    Estoy empezando con él y, por ejemplo, me he tropezado con algunos problemas. Como, moneda de los tickers con un asterisco. Como puedo recibir de ellos, algunas monedas que han símbolo como "ABC*" y más tarde, cuando yo trate de obtener su información de precios para ambos "ABC" y "ABC*" me da un error. En la parte superior de que, incluso, algunos artículos con símbolos regulares constantemente fallar.

    Y hay otras cuestiones, como el significado de la Orden de la clave como puedo conectar su valor en el rango en el sitio normal, en cryptocompare portada..

    +105
    Mark Jon 30 oct. 2015 17:34:18

    De la cartera de la rueda dentada del menú, seleccione los preparadores de la página y comenzar una bundler. Usted tendrá que especificar su frase de paso para ejecutar un bundler por lo que tendrá que ejecutar en su propio nodo. Usted también necesita el nodo de la contraseña de administrador en orden a la lista de los preparadores. He aquí algunos de discusión adicional https://nxtforum.org/general-discussion/ardor-child-chain-bundler-questions/

    +96
    walkan 18 may. 2016 5:28:56

    Esta página tiene instrucciones sobre cómo instalar Bitcoin usando yum:

    http://linux.ringingliberty.com/bitcoin/

    +79
    Suresh Tambe 1 abr. 2010 17:36:07

    ¿Cuál sería la forma más fácil y más rápida manera de conseguir a alguien de quien no tiene conocimientos de informática configurar para tener la capacidad de transferir el dinero a mí a través de Bitcoin? Además, Bitcoin revendedores que es anónimo. Es más anónimo o imposible de encontrar que una simple transacción en efectivo?

    +69
    BentelAnn 21 nov. 2019 4:51:08

    Mostrar preguntas con etiqueta