Generar direcciones usando xpub

Tengo un almacenamiento en frío donde instalé billeteras BTC-Electrum y LTC-Electrum. Así que tomé claves públicas maestras extendidas y generé direcciones en mi servicio en línea. Ahora quiero generar direcciones para Ethereum, pero ¿cómo puedo entender que el núcleo electrum no da xpub? Así que necesito usar billeteras como MetaMask o MyEtherWallet. Pero no puedo encontrar cómo puedo tomar xpub de esas billeteras. ¿Alguien puede ayudarme a resolver este problema? ¡Gracias!

Respuestas (1)

Las claves de Ethereum son similares a las de Bitcoin y forman parte de la estructura de árbol determinista jerárquico (carteras HD). Estos fueron introducidos por BIP 32 y luego mejorados por BIP 44. Un árbol de billetera HD está representado por rutas de derivación al primer nodo de dirección. Por ejemplo, el valor predeterminado para Ethereum es m/44'/60'/0'/0 o incl. el final /[address_index]

  • 44 — BIP 44 Propósito
  • 60 — Tipo de moneda de Ethereum
  • 0 — Cuenta
  • 0 — Cadena
  • 0 — Índice de direcciones

Más detalles aquí .

No puede recuperar su xpub directamente desde Metamask, MEW o cualquier otra billetera en línea que yo sepa. Puede recuperarlo con una biblioteca como ethers.js o ethereumjs-wallet .

Ejemplo

let HDNode = require('ethers').utils.HDNode;
let mnemonic = "radar blur cabbage chef fix engine embark joy scheme fiction master release";
let masterNode = HDNode.fromMnemonic(mnemonic);
let standardEthereum = masterNode.derivePath("m/44'/60'/0'/0/0");

// Get the extended private key
let xpriv = node.extendedKey;

// Get the extended public key
let xpub = node.neuter().extnededKey;

Referencias

cuando tienes el xpriv, ¿qué necesitas para llegar a la dirección de ethereum? ¿Podrías agregar eso a tu fragmento?