#钱包 #比特币 #加密货币 #以太坊 #门罗币 #生成密钥

bin+lib crypto-wallet-gen

这是一个生成助记词并从助记词生成加密货币钱包的工具。这样,你只需要记住一个助记词,就可以从中生成多个货币的钱包。

3 个稳定版本

2.3.0 2021 年 5 月 1 日
2.2.0 2021 年 5 月 1 日
2.1.0 2021 年 5 月 1 日

#12#门罗币

GPL-3.0-or-later

59KB
1K SLoC

加密钱包生成器

smessmer

这是一个生成助记词并从助记词生成加密货币钱包的工具。这样,你只需要记住一个助记词,就可以从中生成多个货币的钱包。在生成步骤中可以添加密码,这样你需要助记词和密码才能生成钱包并访问您的资金。我们支持从助记词生成密钥的BIP39scrypt,并使用BIP32/BIP44进行推导。目前可以推导出比特币(BTC)、以太坊(ETH)和门罗币(XMR)钱包的密钥,相对容易地添加其他货币。

从助记词生成钱包是保护资金的好方法。例如,您可以打印出助记词(或将其刻在金属卡片上以增加耐用性)并离线存储。有了这个助记词(以及可选的密码),如果您的加密货币硬盘意外损坏,您始终可以恢复对资金的访问。或者您随身携带它以从其他地方访问您的资金。

使用方法

1. 生成助记词和相应的比特币钱包

$ crypto-wallet-gen -c BTC
Password: 
Repeat Password:
Mnemonic: acid employ suggest menu desert pioneer hard salmon consider stuff margin over bus fiction direct useful tornado output forward wing cute chicken ladder hockey
Password: [omitted]
Private Key: xprv9yUdDyYgknA92Cb4xfsqSXxQzGtELBm1kvXVvmp5MpW3UwjevPGEX29pjR9MAL13UTE1ZDfCwZ7Y3Uwpqv5BGP4cvdkS6DSTbvdYK7RicHk

"mnemonic" 是您需要记住或打印的助记词。WIF 可以输入到您喜欢的比特币客户端中导入比特币钱包。

2. 使用相同的助记词生成门罗币钱包

$ crypto-wallet-gen -c XMR --from-mnemonic "acid employ suggest menu desert pioneer hard salmon consider stuff margin over bus fiction direct useful tornado output forward wing cute chicken ladder hockey"
Password: 
Repeat Password: 
Mnemonic: acid employ suggest menu desert pioneer hard salmon consider stuff margin over bus fiction direct useful tornado output forward wing cute chicken ladder hockey
Password: [omitted]
Address: 4295Lfg8n2pJiN5eC6YHMGGR4oZ1PuaGJNyNo24wNjrdNPLBSVFFHVEay83fFwJBCWPVumE8xW6wKB6Udj8ttmZoNLDTgsn
Private View Key: c2e6e8597bb5050e57a98d284faf27edc3587d57cccd8a2b3edfd38cdd23af0b
Private Spend Key: 4d93d393f0f2c4a9837524f9d740fa85af54c464864aa8c16d39ef3409781802

就这么多。地址、私钥和私钥可以用于将钱包导入门罗币客户端。

现在假设您失去了对您的比特币或门罗币钱包的访问权限,使用上述短语和步骤 2,您始终可以恢复门罗币钱包,同样您也可以恢复您的比特币钱包。

$ crypto-wallet-gen -c BTC --from-mnemonic "acid employ suggest menu desert pioneer hard salmon consider stuff margin over bus fiction direct useful tornado output forward wing cute chicken ladder hockey"
Password: 
Repeat Password: 
Mnemonic: acid employ suggest menu desert pioneer hard salmon consider stuff margin over bus fiction direct useful tornado output forward wing cute chicken ladder hockey
Password: [omitted]
Private Key: xprv9yUdDyYgknA92Cb4xfsqSXxQzGtELBm1kvXVvmp5MpW3UwjevPGEX29pjR9MAL13UTE1ZDfCwZ7Y3Uwpqv5BGP4cvdkS6DSTbvdYK7RicHk

安装

1. 安装 cargo(Rust 编程语言的包管理器)

您可以使用这个一步式安装命令

之后可能需要调用此命令,或者也可以简单地重新启动您的 bash 会话。

$ source $HOME/.cargo/env

此外,请确保您已安装 openssl 和链接器,例如,可以通过运行以下命令来完成:

$ sudo apt install libssl-dev pkg-config gcc

2. 安装 crypto-wallet-gen

$ cargo install crypto-wallet-gen

密钥是如何生成的

该工具使用BIP39来生成助记词,并使用BIP32/BIP44从种子短语和密码派生出派生路径 m/44'/{coin}'/{address}'。也就是说,对于比特币地址 0(默认值)我们使用 m/44'/0'/0',而对于门罗币(Monero)我们使用 m/44'/128'/0'。对于比特币,派生的密钥可以直接用作比特币钱包。如果将此类密钥导入比特币客户端(如 electrum),electrum 将从给定的密钥派生出 m/{change}/{index},因此完整的派生路径将与 BIP44 方案中的 m/44'/{coin}'/{address}'/{change}/{index} 相匹配。对于门罗币,我们遵循这里描述的算法,这意味着我们将派生的 BIP32 扩展密钥的私钥部分解释为门罗币的私钥。

该网站的示例是此存储库中的一项集成测试之一。还有一些示例在https://iancoleman.io/bip39/上生成。

Scrypt 派生

有一个可选的--scrypt参数,它将PBKDF2哈希函数替换为scrypt。这有三个效果

  1. 知道您的助记词但不知道密码的人将面临更大的困难。
  2. 从助记词生成密钥不再即时完成,现在需要几秒钟(或根据您的硬件几分钟)。
  3. 您正在离开BIP标准领域,对此没有BIP标准。您不能切换到不同的工具,并且当您需要从助记词生成密钥时,将依赖于此工具可用。为了安全起见,最好保留源代码副本。

依赖项

约20MB
约343K SLoC