Matriz de bytes en hexadecimal y de nuevo en JavaScript

Puedo generar una matriz de bytes con

var myByteArray = ventana.crypto.getRandomValues(nueva Uint8Array(16))

y me da

181,143,16,173,231,56,63,149,181,185,224,124,84,230,123,36

Puedo, a continuación, convertir esto en una cadena con

cryptoHelpers.convertByteArrayToString(myByteArray);

y me da

µç8?µ1à|Tæ{$

Pero lo que realmente quiero es una de 128 bits hexadecimal como...

6a3e52297b2e593f4d506f7164

Y quiero ser capaz de volver de hexadecimal a una matriz de bytes.

Hay una función de copiar y pegar o la biblioteca para hacer de esta la magia?

+827
Jamone Kelly 25 feb. 2016 1:08:14
17 respuestas

Los mineros son esencialmente poner un sello de notario en un lote de transacciones. Eso es todo lo que se necesita para.

Pero, ¿cómo evitar que tengan un corrupto notario? Bitcoin no esta por tener decenas de miles de potenciales notarios y uno de ellos pasará a ser el afortunado que llega a hacer el sello. El afortunado es el que pasa a resolver el problema. Todo el potencial de los notarios tratar de resolver el rompecabezas una y otra vez, pero tardará unos diez minutos para que uno se convierta en un éxito.

Otros verán la solución, y si es válido, continuará en el siguiente puzzle. De esta forma se genera una cadena de lotes.

Así que para ir atrás en la historia para cambiar los lotes de transacciones requiere tener que rehacer todo el problema de la solución de los intentos que se produjo con anterioridad. Cuanto más atrás se quiere ir, el problema más que la solución de trabajo que necesita realizar.

Así que el problema está resuelto es un sistema que hace que sea sumamente caro para cambiar la historia. Ese es el trabajo que los mineros son pagados a proporcionar.

+947
Anishcharith Bhandary 03 февр. '09 в 4:24

https://bitcoin.stackexchange.com/a/3908/659 dice:

Por suerte, usted sólo tiene que esperar cinco minutos, en promedio, para un bloque que se encuentra (bloques de uno cada diez minutos, por lo que el retraso hasta el siguiente bloque es de cinco minutos).

Tras la lectura de ella, al instante me sentí que esto era incorrecto, y que el tiempo de espera hasta el siguiente bloque es siempre de 10 minutos (suponiendo que la red de hash de la tasa coincide con la dificultad actual).

Si los bloques se generaron exactamente cada 10 minutos, de lo que sería cierto que el tiempo de espera sería de 5 minutos, pero no lo son.

Entonces, ¿qué es el verdadero tiempo de espera? Por favor, hacer un argumento plausible de por qué es así.

+945
clangers 29 nov. 2018 3:00:41

Bitcoin está pasando ahora. Se trata de 500USD/BTC. Me pregunto ¿cuál es el apoyo mental de precios para los mineros en los que preferirían comprar btc en lugar de la minería es? Eso sería más o menos de minería de costo. Así que ¿cuál es el costo real de la minería 1BTC?

+887
Anthony Barone 23 abr. 2017 13:33:26

Considere la posibilidad de usar jerárquica BIP32 carteras. Puede generar las direcciones con distintas herramientas (por ejemplo, sx) o de forma nativa en su aplicación web. A continuación, puede importar las llaves de su bitcoind nodo con el fin de administrarlos. Si es necesario, usted puede tener múltiples bitcoind nodos y balancear la carga de las claves entre ellos (por ejemplo, tener X clientes por nodo).

La gran ventaja de BIP32 carteras es que sólo es necesario realizar la copia de seguridad una vez que - en el principio, ya que todas las claves se derivan de la inicial de la semilla.

+668
Thomas Champion 21 feb. 2014 12:10:21

Zpub del que sería necesario para los nativos de segwit direcciones. Y actual bitcoinj rama principal no admite Zpub, soporte de ti xpub y xpub sería siempre derivan legado direcciones. Darle una oportunidad a Segwit rama que puede ayuda. También echa un vistazo a este

+658
brassmonkey 25 ene. 2013 21:43:24

Estos son los comandos que me estoy quedando después de la construcción de una limpia de ubuntu ventana acoplable imagen con todas las dependencias:

./src/bitcoin-cli-regtest &

Se produce el error:

error: muy pocos parámetros (se necesitan al menos comando)

A continuación me encontré:

./src/bitcoin-cli-regtest -daemon

que como resultado:

error: muy pocos parámetros (se necesitan al menos comando)

finalmente:

./src/bitcoin-cli-regtest 101 & 

rendimientos:

error: no se Pudo encontrar RPC credenciales. Ninguna cookie de autenticación podría ser encontrado, y no rpcpassword se establece en el archivo de configuración (/root/.bitcoin/bitcoin.conf)

Estos comandos han sido tomadas de los siguientes recursos:

https://bitcoin.org/en/developer-examples#regtest-mode

Hay una pregunta aquí, y una correspondiente respuesta que proporciona una secuencia de comandos para iniciar regtest, es que una buena solución?


Siguiente paso

así que me fui corriendo primero:

bitcoind -regtest -daemon

y llegué a la salida:

Bitcoin servidor a partir de

luego he intentado:

bitcoin-cli-regtest getinfo

que como resultado:

error: no se Pudo encontrar RPC credenciales. Ninguna cookie de autenticación podría ser encontrado, y no rpcpassword se establece en el archivo de configuración (/root/.bitcoin/bitcoin.conf)

estos comandos también se genera el mismo resultado de antes:

./src/bitcoin-cli-regtest ayuda 
./src/bitcoin-cli-regtest 101

así que he creado el siguiente archivo:

vim /root/.bitcoin/bitcoin.conf

literalmente esto:

rpcpassword=123

*también lo intentó con esto:

servidor=1
rpcuser=root
rpcpassword=contraseña
rpcconnect=127.0.0.1
rpcport=8332

y ahora ejecuto el comando:

bitcoin-cli-regtest getinfo

lo que resultó en lo siguiente:

error: no se pudo conectar con el servidor: desconocido (code -1)
(asegúrese de que está ejecutando el servidor y se conecta a la correcta puerto RPC)
+624
hbost 21 ene. 2014 20:42:23

Supongo que he de unas monedas para la prueba de juego, y de repente mi conexión a internet va en off o apagado de mi pc, lo que puede suceder si una transacción en el medio, ¿perderé mis monedas que estaban en el medio del proceso de la transacción ?

+622
Lishan 27 jun. 2017 18:42:27

Ambos Bitmain y Braiins ha lanzado ahora S9 firmware que permite manifiesta AsicBoost.

+583
Ross Johnston 18 mar. 2016 18:51:27

Yo sólo uso coingate y blockchain.info y, a mi entender, coingate es una parte que se encarga de las transacciones (hacer el pedido, enviar y recibir bitcoin), mientras que blockchain.info es una cartera en un almacén de bitcoin. Tengo un par de preguntas a continuación:

  1. ¿Por qué no puede coingate ser una cartera de sí mismo?

  2. En https://bitcoin.org/en/choose-your-wallet, ¿por qué blockchain.info no está en la lista? No fue actualizado?

+527
Natalia199411 10 jul. 2015 18:25:38

Usted puede configurar una tarea programada para que se ejecute createrawtransaction, sendrawtransaction, etc. los comandos mensual. Cf. "La creación, Firma y Presentación de las Transacciones Basadas en el Saldo de Salidas" de Dominar Bitcoin.

+511
Gcox Mwalyoyo 13 ene. 2018 10:16:21

¿Por qué Bitcoin utilizar un chisme protocolo en lugar de una DHT para los pares de descubrimiento? Creo que kademlia XOR distancia ayuda a dar forma a la topología de la red, por lo que los compañeros están más uniformemente perturbado.

+392
Danny Wheeler 9 ago. 2012 9:58:32

Bitcoin Core soporta la importación de claves privadas. El uso de la importprivkey RPC.

+386
user4739 11 oct. 2012 14:00:18

En nuestra aplicación se genera una trasaction hex mediante el createrawtransaction llamada a la "artesanía" de una transacción. El problema al que nos enfrentamos es que nos gustaría para estimar la minería de comisión por esta transacción. Me doy cuenta de que podríamos llamar estimatefee x para estimar la minería de cuota por byte. Pero el problema es que estamos en la generación de la transacción, por lo que no sabemos el tamaño de la transacción, sin embargo! El pollo o el huevo?! Me doy cuenta de que podemos generar una transacción y, a continuación, la cuenta para la minería de tarifa basada en el hex, pero esto suena como un hack para mí.

Así que la pregunta es: ¿cuál es la mejor manera de estimar el óptimo de minería de cuota, mientras que el uso de createrawtransaction ?

+377
sanka19 28 nov. 2017 18:09:50

He creado un osCommerce módulo que puede permitir la instalación de una completa tienda virtual que acepta Bitcoin. Permite osCommerce para hablar a su propio Bitcoin demonio con los pedidos que se actualiza una vez recibido el pago. A continuación, los fondos pueden ser enviados a una dirección de su servidor web para reducir el riesgo de almacenar demasiados bitcoins en el servidor. También mantiene su BTC los precios actualizados de los precios fijados en DÓLARES.

El módulo está aquí: https://github.com/weex/oscommerce-bitcoin

+264
diegoomort 21 abr. 2012 2:13:10

Estoy corriendo un testnet nodo. Puedo usar bitcoin-cli bien:

>bitcoin-cli.exe getinfo
{
 "versión" : 100000,
 "protocolversion" : 70002,
 "walletversion" : 60000,
[... cortada]

Pero cuando ejecuto este código en python:

de bitcoinrpc.authproxy de importación AuthServiceProxy, JSONRPCException
el registro de importación

rpc_user = "rpcuser"
rpc_password = "xxxxx"

la tala de árboles.basicConfig()
la tala de árboles.getLogger("BitcoinRPC").setLevel(tala de árboles.DEBUG)

rpc_connection = AuthServiceProxy("http://%s:%[email protected]:8332/" % (rpc_user, rpc_password))
de impresión(rpc_connection.getinfo())

Me sale este error:

DEBUG:BitcoinRPC:-1-> getinfo []

Traceback (la mayoría de llamada reciente pasado):
 El archivo "<ruta de acceso>\rawtransactiondemo\raw.py" la línea 11, en <módulo>
de impresión(rpc_connection.getinfo())
[... cortada]
 Archivo "C:\Python27\lib\json\decoder.py" línea 384, en raw_decode
 raise ValueError("No hay objeto JSON puede ser decodificado")
ValueError: No hay objeto JSON puede ser decodificado

Este es mi bitcoin.conf:

testnet=1
rpcuser=bitcoinrpc
rpcpassword=xxxxx
daemon=1
rpcport=8332
rpcallowip=192.168.1.39
bind=192.168.1.39

Yo estoy usando el de python-bitcoinrpc de la biblioteca.

+121
Aristo Bhupal 15 ene. 2015 22:04:50

El protocolo bitcoin dice que cualquier nodo está conectado a al menos 8 otros nodos. ¿Eso quiere decir que cuando un cliente se conecta a un nodo y aprende acerca de los nuevos compañeros... se el cliente mantenga el socket abierto y esperar en la recepción? O simplemente tiene que grabar los nuevos compañeros y cierra los enchufes y se abre una nueva conexión cuando hay nuevos datos para ser enviado o recibido?

+108
bochen421 4 feb. 2019 0:09:13

Ahora, completa los clientes de la Bitcoin red de almacén de cada bloque generado (mientras que los clientes "ligeros" en lugar de depender de un nodo que lo hace). Esto aumenta enormemente primer tiempo de inicialización para el cliente, y también tiene implicaciones significativas para la sobrecarga de la red, entre otras cosas. ¿Cómo sería la red de verse afectados si los nodos de cambio se almacenan sólo los encabezados de la mayoría de los bloques en el blockchain hasta o a menos que se "necesita" la real de bloque?

Estas situaciones son bastante comunes, tales como:

  • la verificación de la validez de cada nuevo bloque, ya que se encuentra y se transmite a la red
  • en cualquier momento que el cliente es enviar o recibir bitcoins
  • etc.

así que, en general, los clientes descargar todos los bloques de difusión cuando estaban en línea. Sin embargo, ellos serían capaces de:

  • purga de los bloques de que "no importa" si el espacio de almacenamiento es limitado
  • en el caso típico, comenzar a enviar y recibir bitcoins después de la descarga, solo unos pocos más relevantes de los bloques (y todas las cabeceras de curso)
  • etc.

Tenga en cuenta que normalmente hay varias entidades "invertido en" la continuidad de la disponibilidad de un determinado bloque, tales como el original minero, que quiere que el 50 btc ganado sigue siendo válida, y cualquiera que recibió bitcoins de transacciones en ese bloque. Sin embargo, un interesante consecuencia de esta situación sería que los mineros son incentivados para incluir la mayor cantidad de transacciones en sus bloques como sea posible (en la actualidad uno puede extraer sin incluir ninguna de las transacciones si uno así lo desea). ¿Qué sería de los otros impactos en la funcionalidad y la seguridad de ser?

Editar: Estoy en busca de una mejor respuesta que "creo que podría desestabilizar la red" de aquí, quiero ver algunos de los efectos estimados en el bloque de la disponibilidad, la sobrecarga de la red hacia arriba o hacia abajo una vez que la menor cantidad de descarga es contrastada con volver a descargar más tarde, etc. Algunas estadísticas sobre cómo inter-dependiente de los bloques son solo iba a ir un largo camino hacia una respuesta sólida.

Edit 2: Ahora esta recompensa va a Shadders en un par de horas. Pero si alguien tenía información más detallada sobre la información que pedí en mi primera edición, que sin duda podría snipe es. Toda la toma?

+68
atoms 22 jun. 2012 2:07:11

Mostrar preguntas con etiqueta