Ich versuche, einen Weg zu finden, Ethereum-Adressen basierend auf einem anfänglichen Seed programmatisch zu generieren und dann alle Gelder zu extrahieren, die in diesen Adressen landen.
Folgendes habe ich versucht:
Bitcoin::Trezor::Mnemonic.generate
digix-geth
HD Vault übergeben, um eine Adresse zu generieren: 0xf2D5286B51a8a3326CBC007477435EeC47722228m/44'/60'/0'/0
zu verwenden, um Trezor und Einstellung abzugleichen chain_id = 4
, kein Glück. Die Wallet-Adressen, die MyEtherWallet anbietet, stimmen nicht mit denen überein, die die Ruby-Bibliothek generiert.An diesem Punkt bin ich mir nicht sicher, ob die Ruby-Bibliothek fehlerhaft ist, MyEtherWallet fehlerhaft ist oder ob ich einfach etwas falsch mache.
Was kann ich jetzt versuchen, um die 3 Ether zu extrahieren?
Bearbeiten: Die Adressen, die dieses separate Tool generiert, stimmen mit denen überein, die MyEtherWallet generiert. Es ist also wahrscheinlich ein Fehler der Ruby-Bibliothek.
Ich habe es geschafft, das zum Laufen zu bringen. digix-eth
Mit dieser Gabel des eth
Edelsteins stimmt definitiv etwas nicht . Ich vermute, es ist die Polsterung, die er der Mnemonik hinzufügt . Wie auch immer, hier ist, wie Sie HD-Adressen mit einem Seed generieren können:
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