#bitcoin #wif #segwit #cli #secp256k1 #private-key

应用 bitsign

用于生成比特币地址以及使用地址签名/验证消息的工具

2个版本

0.1.1 2019年10月21日
0.1.0 2019年10月12日

#54#secp256k1

MIT/Apache

19KB
372

bitsign

Build Status Latest version License dependency status

用于生成比特币密钥、使用比特币密钥签名和验证消息的工具。(兼容Bitcoin Core)

安装

从源码

使用Rust的包管理器cargo,您可以通过以下方式安装bitsign:

cargo install --force bitsign

用法

生成密钥: bitsign generate

工具将从操作系统获取随机数,但对于偏执的用户,它还允许您通过在stdin上随机按键输入自己的熵。

可选地,您可以通过传递 --type 为 p2pkh/p2wpkh/p2shwpkh [默认: p2wpkh]。
以及 --net 为比特币/regtest/testnet [默认: 比特币]。
甚至 --uncompressed(如果出于某种原因您真的需要未压缩密钥)。

签名消息: bitsign sign <privkey> <message>

验证消息: bitsign verify <address> <message> <signature>

此工具还将尝试使用p2kpkh和p2shwpkh验证消息,但请注意,Bitcoin Core不会接受相同的验证(将打印警告)。

示例

$ bitsign generate --type p2pkh
Input your own randomness by hitting keys randomly and then hit 'enter' when you're done: (This will be on top of random entropy from the OS)
fsdfkldsfkdsjflwkjfkwe

Bitcoin Address: 1AupUZ3sAdTjZSdG4D52eFoHdPtjwGZrTj
WIF private key: KwQoPt6dL91fxRBWdt4nkCVrfo4ipeLcaD4ZCLntoTPhKGNgGqGm

$ bitsign sign  KwQoPt6dL91fxRBWdt4nkCVrfo4ipeLcaD4ZCLntoTPhKGNgGqGm "This is an example"
Message Signed. Signature: IFbPlcOleYublXob8/6w3i1crI89TW9s0wOvZCge+E26MwW4v7zxOEF8KWf5ko9l9SLGq8jVbcNzW45vw8Zlwes=

$ bitsign verify 1AupUZ3sAdTjZSdG4D52eFoHdPtjwGZrTj "This is an example" IFbPlcOleYublXob8/6w3i1crI89TW9s0wOvZCge+E26MwW4v7zxOEF8KWf5ko9l9SLGq8jVbcNzW45vw8Zlwes=
Signature Verified!
$ bitsign generate
Input your own randomness by hitting keys randomly and then hit 'enter' when you're done: (This will be on top of random entropy from the OS)
dfgheriednfgjeriekodmnfkhuroiewokdm

Bitcoin Address: bc1q64mh4n7u9xxvfdsml3pasr4tsn85dewnsfexuf
WIF private key: KxUeV889U8Zxfzf2qCSVFBTkZZQMVXodUJDutT7pBf4XdjcEds7p

$ bitsign sign KxUeV889U8Zxfzf2qCSVFBTkZZQMVXodUJDutT7pBf4XdjcEds7p "Example with bech32 segwit"
Message Signed. Signature: IAAr1NgFG6htGNqrzBFn2dod9o+chvIaEz14UayiD0UILig1HVqLgAsz5DNzh8Yw4SBixhkHkeMpGUFt1xy/o7Q=

$ bitsign verify bc1q64mh4n7u9xxvfdsml3pasr4tsn85dewnsfexuf "Example with bech32 segwit" IAAr1NgFG6htGNqrzBFn2dod9o+chvIaEz14UayiD0UILig1HVqLgAsz5DNzh8Yw4SBixhkHkeMpGUFt1xy/o7Q=
Signature Verified!. Warning: This isn't a P2PKH so Bitcoin Core doesn't support verifying this signature

依赖项

~6.5MB
~119K SLoC