У меня есть холодное хранилище, куда я установил кошельки BTC-Electrum и LTC-Electrum. Поэтому я взял расширенные главные открытые ключи и генерирую адреса в своем онлайн-сервисе. Теперь я хочу сгенерировать адреса для Ethereum, но как я понял, ядро Electrum не дает xpub. Поэтому мне нужно использовать любые кошельки, такие как MetaMask или MyEtherWallet. Но я не могу найти, как я могу взять xpub из этих кошельков. Может ли кто-нибудь помочь мне решить эту проблему? Спасибо!
Ключи Ethereum аналогичны биткойнским и являются частью иерархической детерминированной древовидной структуры (HD-кошельки). Они были введены в BIP 32, а затем улучшены в BIP 44. Дерево кошелька HD представлено путями вывода к первому узлу адреса. Например, по умолчанию для Ethereum это m/44'/60'/0'/0 или вкл. конечный /[address_index]
Подробнее здесь .
Вы не можете получить свой xpub напрямую из Metamask, MEW или любого другого онлайн-кошелька, о котором я знаю. Вы можете получить его с помощью такой библиотеки, как ethers.js или ethereumjs-wallet .
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;
Сед