项目作者: clearloop

项目描述 :
Ethereum key-pair generator in rust.
高级语言: Rust
项目地址: git://github.com/clearloop/ethereum-key.git
创建时间: 2018-07-25T03:09:02Z
项目社区:https://github.com/clearloop/ethereum-key

开源协议:GNU General Public License v3.0

下载


Ethereum Key

A wrapper of Parity’s ethkey.

document

USAGE

  1. extern crate ethereum_key;
  2. use ethereum_key::Band;
  3. // <- Keypair && Phrase ->
  4. let band: Band = Band::generate();
  5. println!("phrase: {:?}", &band.phrase);
  6. println!("secret: {:?}", &band.secret);
  7. println!("public: {:?}", &band.public);
  8. println!("address: {:?}", &band.address);
  9. // phrase: "reborn chair modular immunize handshake sampling moody outburst grower sweat clique affront"
  10. // secret: 0x779ff5fe168de6560e95dff8c91d3af4c45ad1b261d03d22e2e1558fb27ea450
  11. // public: 0xa90b7d1953d7462fa8e9d510dbb7aeb081606ef9d7f3fb0c2dd3666f84c9917e61a6c4bfa0483050be0bb6d650530c02263b6fcd092e0536a909cbb222d7c4c7
  12. // address: 0x00be8153c55276be0b27e9f66db523f2f17cc783
  13. // <- Generate from phrase of secret ->
  14. let phrase: String = "hemstitch remover province donated outing oversized playoff outshoot trowel wimp palm flashily"
  15. let secret: String = "26d1ec50b4e62c1d1a40d16e7cacc6a6580757d5"
  16. let band2: Band = Band::from(phrase);
  17. let band3: Band = Band::from(secret);

API

BIPs

BIP32: Hierarchical Deterministic wallet, 从单一 seed 产生树状结构存储多组 keypairs (私钥和公钥)。可以方便的备份、转移到其他相容装置,以及分层权限控制。

BIP39: 将 seed 方便记忆和书写的单字表示。一般由12个单字组成,称为 mnemonic code(phrase), 中文成为助记词和助记码。例如:

  1. rose rocket invest real refuse margin festival danger anger border idle brown

BIP44: 基于 BIP32 的系统,赋予树状结构中的各层特殊的意义。让同一个 seed 可以支援多币种、多账户等。各层定义如下:

  1. m / purpose' / coin_type' / account' / change / address_index

Ethereum HD wallet:
Ethereum 的钱包目前均采用以上 Bitcoin HD Wallet 的架构,并订 coin_type60'。在一个 Ethereum HD Wallet 中,第一个账户(这里的账户是指 BIP44 中定义的 account) 的第一组 keypair, 其路径会是 m/44'/60'/0'/0/0

Mnemonic Code Converter

TODO:

  • prefix option.
  • wasm interface.

LICENSE

GPL