Я пытаюсь найти способ программно генерировать адреса Ethereum на основе начального семени, а затем извлекать любые средства, которые попадают на эти адреса.
Вот что я пробовал:
Bitcoin::Trezor::Mnemonic.generate
digix-geth
HD Vault для генерации адреса: 0xf2D5286B51a8a3326CBC007477435EeC47722228 .m/44'/60'/0'/0
чтобы соответствовать Trezor и settings chain_id = 4
, но не повезло. Адреса кошельков, которые предлагает MyEtherWallet, не совпадают с теми, которые генерирует библиотека Ruby.На данный момент я не уверен, является ли неисправной библиотека Ruby, неисправен MyEtherWallet или я просто делаю что-то не так.
Что я могу попробовать извлечь 3 эфира сейчас?
Изменить: адреса, которые генерирует этот отдельный инструмент , совпадают с теми, которые генерирует MyEtherWallet. Так что, скорее всего, это ошибка библиотеки Ruby.
Мне удалось заставить это работать. digix-eth
С этой вилкой eth
драгоценного камня определенно что-то не так . Я подозреваю, что это дополнение, которое он добавляет к мнемонике . Во всяком случае, вот как вы можете генерировать HD-адреса, используя начальное число:
require 'bitcoin'
require 'eth'
NODE_INDEX = 0 # An index corresponds to a unique Ethereum address.
MNEMONIC = '...' # Generate this using `Bitcoin::Trezor::Mnemonic.generate`.
master = MoneyTree::Master.new(seed_hex: Bitcoin::Trezor::Mnemonic.to_seed(MNEMONIC))
node = master.node_for_path("m/44'/60'/0'/0/#{NODE_INDEX}")
key = Eth::Key.new(priv: node.private_key.to_hex)
puts key.to_address