安装Bitcoin Core
书上介绍了如何在Linux下从Github上clone“比特币核心( Bitcoin Core)”的代码,并通过autogen/configure/make过程编译出软件。同时可以在Windows下下载安装比特币核心。在常用的Ubuntu操作系统下,如果有管理员权限,可以使用官方提供PPA的方式安装Bitcoin Core。
可以用以下三步完成安装:
安装完
Bitcoin Core的三种网络
- 主网mainnet
现在全球运行的比特币网络。运行bitcoind即可以成为主网的一个全节点。
- 测试网络testnet
和主网平行的测试网络,已经有三个版本。运行“bitcoind -testnet”即可以成为测试网络的一个全节点。
- 私有网络regtest
用与比特币相同的规则搭建私链。需要添加regtest参数:“bitcoind -regtest”。
额外的设置
bitcoind和bitcoin-cli有两种方式读取配置信息。
1.在输入命令时后面跟上参数,例如
bitcoind –testnet –printtoconsole -rpcuser=u -rpcpassword=p
2.把参数写在~/.bitcoin/bitcoin.conf文件里,bitcoind和bitcoin-cli会自动去读自己需要的配置信息,例如
testnet=1
printtoconsole=1
rpcuser=u
rpcpassword=p
几个重要的参数
-daemon:后台运行
-printtoconsole:打印信息
-rpcuser:rpc连接的用户名
-rpcpassword: rpc连接的密码
-rpcallowip:允许的访问bitcoind的IP范围
-minconf:交易的最小确认数
(输入“bitcoind -h”查看更多信息)
启动测试网络并查看信息
按上一张第二种方法启动bitcoind后可以看到bitcoind输出的调试信息。bitcoind开始寻找测试网络的节点并开始同步区块,这个过程可能需要一段时间(根据网络情况也有可能几天)。
#查看信息
bitcoin-cli getinfo
#查看区块链信息
bitcoin-cli getblockchaininfo
#查看网络信息
bitcoin-cli getnetworkinfo
#查看钱包信息
bitcoin-cli getwalletinfo
#查看更多可以用的命令
bitcoin-cli help
钱包
钱包加密、解密、备份、纯文本导出及恢复见《精通比特币》3.2.2、3.2.3。
钱包会维护一个地址池,里面默认有一些地址,使用时可以从中取出一个来接收比特币。钱包会记录跟地址池里地址有关的交易。关于地址池中的地址和相关交易的查询的命令见3.2.4。
交易
从地址池取出一个地址后,可以到http://bitcoinfaucet.uo1.net/send.php要一点测试币。两个小时经过多确认后可以看到余额发生了变化。
通过listtransactions和gettransaction可以看到交易概要,后面会附上交易原文,即hex格式。用decoderawtransaction加hex格式的原文可以获得交易详细信息,包括输入输出等。
通过listtransactions和gettransaction可以看到交易细节
区块
getblockhash可以获得某个高度的区块的哈希值,getblock可以获得某个哈希值的区块的详细信息。
创建和发送新交易
- listunspent:列出所有输出到地址池里地址的交易,即所有未花费的钱
- gettxout:获得某个交易的某个vout
- createrawtransaction:生成交易的hex格式
- decoderawtransaction:解码交易的hex格式
- signrawtransaction:给交易(hex格式)的每个输入签名
- sendrawtransaction:向网络发送交易
其他替代客户端、资料库、工具包
• ▷ libbitcoin和sx tools
• 一款C++,通过命令行完成的全节点多线程客户端与程序库
• ▷ bitcoinj
• 一款全节点java客户端和程序库
• ▷ btcd
• 一款全节点GO 语言的比特币客户端
• ▷ Bits of Proof(BOP)
• 一款Java企业级平台的比特币工具
• ▷ picocoin
• 一款轻量级比特币执行客户端
• ▷ pybitcointools
• 一款Python语言的比特币程序库
• ▷ pycoin
• 另一款Python语言的比特币程序库
关于轻客户端Electrum