8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/bip44/ethereum.rb', line 8
def ethereum_address
group = ECDSA::Group::Secp256k1
public_key = ECDSA::Format::PointOctetString.decode(@wallet_node.public_key.to_bytes, group) ethereum_public = Utils.padding64(public_key.x.to_s(16)) + Utils.padding64(public_key.y.to_s(16))
bytes = Bip44::Utils.hex_to_bin(ethereum_public)
address_bytes = Digest::SHA3.new(256).digest(bytes)[-20..-1]
address = Bip44::Utils.bin_to_hex(address_bytes)
Bip44::Utils.prefix_hex(address)
end
|