Bitcoin

node.js – ¿Cómo convierto la clave maestra de HD Wallet en clave extendida y clave secundaria en Javascript?

single-image
img-ads


Estoy tratando de aprender cómo funcionan las billeteras HD internamente escribiendo código Javascript que puede derivar claves secundarias de claves principales. Hasta ahora solo he podido convertir un valor inicial generado por BIP39 en una clave maestra y un código de cadena. Puedo hacerlo con éxito.

Ahora quiero convertir la clave maestra en una clave extendida, la cadena larga que comienza con xprv. También quiero saber cómo derivar subclaves de él y obtener la clave privada para firmar con una de las cuentas.

He utilizado este confuso documento BIP32 como guía hasta ahora, pero no llega a ninguna parte. Por lo que puedo decir, debe serializar las claves que ya tiene antes de inferir claves.

El proceso de serialización se describe a continuación:

Las claves públicas y privadas extendidas se serializan de la siguiente manera:

  • 4 bytes: bytes de versión (red principal: 0x0488B21E pública, 0x0488ADE4 privada; red de prueba: 0x043587CF pública, 0x04358394 privada)
  • 1 byte: profundidad: 0x00 para nodos maestros, 0x01 para claves derivadas de nivel 1, ….
  • 4 bytes: la huella digital de la clave de nivel superior (0x00000000 para la clave maestra)
  • 4 bytes: número subordinado. Esto es ser32 (i) para i en xi = xpar / i, donde xi es la clave que se serializa. (0x00000000 si es clave maestra)
  • 32 bytes: el código de la cadena
  • 33 bytes: los datos de la clave pública o la clave privada (serP (K) para claves públicas, 0x00 || ser256 (k) para claves privadas)

Al igual que otros datos de Bitcoin, esta estructura de 78 bytes se puede codificar en Base58 agregando primero 32 bits de suma de verificación (derivados de la suma de verificación doble SHA-256) y luego convirtiéndolo a la representación Base58. Esto da como resultado una cadena codificada en Base58 de hasta 112 caracteres. Debido a la selección de los bytes de la versión, la representación Base58 comienza con “xprv” o “xpub” en la red principal, “tprv” o “tpub” en la red de prueba.

Aquí está el código javascript que escribí para seguir estas instrucciones.


























const crypto = require ('crypto');
const base58 = require ('base58');

const master_key_hex = '5a02ee5cb622f15a4e7ab3dfe7faa9861738da2ae7bb936c685af4dd7b1fbdee';
const chain_code_hex = 'abfbc73691eaad7ca4eb5e25bc51c5804af221cc27a23460634498497f92c92c';

// the 78 bytes of data
var data="0488ade4";
data += '00';
data += '00000000';
data += '00000000';
data += chain_code_hex;
data += '00' + master_key_hex;

// add the checksum
const hash_1 = crypto.createHash ('sha256');
var sha_256_1 = hash_1.update (data, 'hex').digest ('hex');
const hash_2 = crypto.createHash ('sha256');
var sha_256_2 = hash_2.update (sha_256_1, 'hex').digest ('hex');

var data_with_checksum = data + sha_256_2;

//data = Buffer.from (data_with_checksum, 'hex');
var result = base58.encode (data_with_checksum);
console.log (result);

Probé una cadena y un búfer y me dio el mismo mensaje de error en ambas ocasiones. El mensaje de error es:


Error: Value passed is not a non-negative safe integer.

Siento que ni siquiera estoy cerca de hacerlo bien. ¿Alguien sabe cómo se debe codificar para derivar claves secundarias de una clave maestra?

img-ads

Leave a Comment

Your email address will not be published.

You may also like

Blockchain

Los suscriptores digitales de la revista TIME ahora pueden pagar con cripto

single-image


La revista TIME ha hecho posible que sus suscriptores realicen pagos con sus criptoactivos. Este paso será posible después de la asociación con cryptp.com.

La revista TIME se asoció con crypto.com para aceptar pagos en cripto. Crypto.com es una plataforma de moneda digital popular cuyos usuarios ahora están usando sus tenencias de criptomonedas para pagar sus suscripciones a la revista TIME. Los usuarios ahora pueden realizar un pago único por la suscripción digital de 18 meses a la revista.

Para motivar a sus usuarios a adoptar esta nueva opción de pago, la revista TIME dará un reembolso del 10% a los usuarios que utilicen crypto.com para realizar una compra. La suscripción a la revista TIME es de $ 49. Sin embargo, esta opción de pago solo está disponible para usuarios en Canadá. Se espera que el acceso mundial a los EE….

View More Article
Bitcoin

¿Mal presagio? El dólar estadounidense y el bitcoin caen en una tendencia poco común

single-image


El precio de Bitcoin (BTC) luchó por mantenerse por encima de los $ 56,000 el 20 de abril, lo que los grupos de ballenas identificaron como un nivel de precios crucial a corto plazo.

Sin embargo, el índice del dólar estadounidense (DXY) ha seguido cayendo en las últimas semanas, cayendo a su nivel más bajo en siete semanas en 90,85.

Bitcoin (azul) frente a DXY (naranja) Fuente: TradingView

¿Por qué es esta una tendencia preocupante?

Las tiendas alternativas de valor, como Bitcoin y Gold, se valoran frente al dólar estadounidense. Si el dólar cae, el valor de Bitcoin debería aumentar teóricamente a medida que BTC cotiza frente al dólar.

Sin embargo, en los últimos días, Bitcoin se ha desempeñado mal después de la tan esperada cotización pública de Coinbase.

La tendencia es preocupante ya que es más probable que Bitcoin vea una tendencia alcista cuando el dólar…

View More Article
Bitcoin

Ataque – Denegación de servicio de transacción

single-image


<a title="See the tag: ataque (4 posts)" class="autobesttag" rel="nofollow" href="https://schuss.es/tag/ataque/">Ataque</a> – Denegación de servicio de <a title="See the tag: transaccion (15 posts)" class="autobesttag" rel="nofollow" href="https://schuss.es/tag/transaccion/">transacción</a> – <a title="See the tag: intercambio (18 posts)" class="autobesttag" rel="nofollow" href="https://schuss.es/tag/intercambio/">Intercambio</a> de lotes de Bitcoin
View More Article
Bitcoin

Coinbase soluciona problemas de ventas futuros con planes para convertirse en Cryptos Amazon

single-image


Un debut de Nasdaq bien recibido de Coinbase la semana pasada abrió lo que muchos esperan que sea el cruce de Crypto hacia la corriente principal. No obstante, la OPI ha sido controvertida, incluida la valoración de la empresa sobre una base completamente diluida. Este método agrega un mayor número de acciones a la valoración de la empresa, esencialmente sobrevalorando a la empresa en unos 20.000 millones de dólares.

Quizás la mayor controversia, sin embargo, radica en la capacidad de Coinbase para mantener y aumentar su rentabilidad en el futuro. Algunos analistas han advertido contra la inversión en $ COIN, ya que los altos diferenciales y las tarifas de negociación podrían tocar fondo ante la creciente competencia.

Brian Armstrong, CEO de Coinbase, dijo que planea expandir la línea de productos de la compañía durante los próximos cinco a diez años para abordar esas preocupaciones.

View More Article
Bitcoin

¿Ya estamos ahí? He aquí por qué un analista dice que no es “temporada de altcoins”.

single-image


Pocos comerciantes argumentarían en contra del hecho de que Bitcoin (BTC) está en un mercado alcista, pero hay menos consenso sobre si el mercado está en medio de una “temporada de altcoins”. Un vistazo rápido a Crypto Twitter revela el cisma entre los comerciantes que están seguros de que estamos en medio de la vieja temporada y los que creen que aún no ha comenzado.

Por lo general, los comerciantes confían en una variedad de indicadores y métricas, como la capitalización de mercado total de Bitcoin en comparación con la capitalización de mercado total de altcoin, la tasa de dominio de Bitcoin y si las altcoins de baja capitalización han aumentado o no en un cierto porcentaje.

Como es el caso de la inversión, demasiada señal a veces puede llevar a resultados mixtos. Entonces, Cointelegraph decidió charlar con Ben Lilly, cofundador y analista de Jarvis Labs,…

View More Article
Bitcoin

Por qué Cardano ha visto un aumento “enorme” en el interés de los desarrolladores

single-image


Tim Harrison, director de marketing y comunicaciones de Input Output Global (IOG), la empresa desarrolladora de Cardano, publicó una oferta de trabajo para un ingeniero de datos, consultor, consultor de Java, arquitecto de soluciones y otros puestos en la empresa.

Según Harrison, los solicitantes tienen la oportunidad de formar parte de un nuevo “equipo dedicado”. Su objetivo será apoyar a la creciente comunidad de Cardano.

Además, el nuevo equipo de IOG Cardanos ayudará a los usuarios a estar “a bordo” a medida que la plataforma se acerque a su tercer evento de HFC (Hard Fork Combinator) “Alonzo”. Con una fecha de despliegue provisional para el tercer trimestre de 2021, Alonzo integrará la plataforma de contrato inteligente Plutus de Cardano.

Harrison dicho Actualmente, la red está experimentando un creciente interés por parte de los desarrolladores:

A medida que nos acercamos a la introducción de #smartcontracts en…

View More Article