《精通比特币》master_bitcoin-第三章-《比特币客户端》

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27500493/article/details/84107178

 

安装Bitcoin Core

  书上介绍了如何在Linux下从Github上clone“比特币核心( Bitcoin Core)”的代码,并通过autogen/configure/make过程编译出软件。同时可以在Windows下下载安装比特币核心。在常用的Ubuntu操作系统下,如果有管理员权限,可以使用官方提供PPA的方式安装Bitcoin Core。

可以用以下三步完成安装:

安装完

 

 

Bitcoin Core的三种网络

-  主网mainnet

扫描二维码关注公众号,回复: 4196241 查看本文章

  现在全球运行的比特币网络。运行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

 

猜你喜欢

转载自blog.csdn.net/qq_27500493/article/details/84107178