加入比特币网络并开始使用通货,所有用户需要做的就是下载应用程序或使用在线应用程序。因为比特币是一个标准,也有许多运行比特币的客户端软件。还有一个标准客户端,也称为中本聪客户端,这是由一个开发团队管理的一个开源项目,源自于中本聪编写的初始客户端。
比特币客户端的三种主要形式是:
完整客户端
一个完整客户端,或称“全节点”,是存储所有比特币交易的整个交易历史(由每一个用户完成的每一笔交易,曾经所有的每一笔)的客户端,管理用户的钱包,并可以在比特币网络上直接开始交易。这类似于一个独立的电子邮件服务器,因为它处理着协议的各个方面,而不依赖于任何其它的服务器或第三方服务。
轻量级客户端
一个轻量级客户端存储用户的钱包,但需要依赖第三方服务器才能进行比特币交易,才能接入比特币网络。轻量级客户端不保存所有交易的完整副本,因此必须信赖第三方的服务器来获取交易确认。这就类似于一个独立的电子邮件客户端,能够通过邮箱服务器来访问一个邮箱,因为它在网络交流中依赖于一个第三方服务器。
在线客户端
在线客户端通过网页浏览器在第三方服务器上访问和储存该用户的钱包。这类似于在线邮件,因为它完全依赖于第三方服务器
移动客户端 智能手机的移动客户端,例如基于Android系统,既可以作完整客户端运行,也可作为轻量级客户端或在线客户端。一些移动客户端是与在线客户端或桌面客户端同步的,提供跨多个设备但有一个共同的资金源的多平台钱包。
安装bitcoin
下载源码
$ git clone https://github.com/bitcoin/bitcoin.git
选择合适的版本
$ cd bitcoin
$ git tag
v0.1.5
v0.1.6test1
v0.2.0
v0.2.10
v0.2.11
v0.2.12
[... many more tags ...]
v0.8.4rc2
v0.8.5
v0.8.6
v0.8.6rc1
v0.9.0rc1
$ git checkout v0.9.0rc1
Note: checking out 'v0.9.0rc1'.
HEAD is now at 15ec451... Merge pull request #3605
$
生成构建脚本
$ ./autogen.sh
configure.ac:12: installing `src/build-aux/config.guess'
configure.ac:12: installing `src/build-aux/config.sub'
configure.ac:37: installing `src/build-aux/install-sh'
configure.ac:37: installing `src/build-aux/missing'
src/Makefile.am: installing `src/build-aux/depcomp'
$
autogen.sh脚本创建了一系列的自动配置脚本,会询问你的系统以发现正确的设置,确保你已安装必要的库来编译源码。这里面最重要的是configure脚本,它会提供许多不同的选项来定制构建过程。输入./configure —help 可以查看各种不同的选项:
$ ./configure --help
如果一切顺利,configure命令将会以创建可定制的构建脚本结束。这些构建脚本允许我们编译bitcoind.
编译
$ make
通过make命令,安装 bitcoind 可执行文件到你的系统路径下:
$ sudo make install
通过询问系统下面2个可执行文件的路径,来确认bitcoin是否安装成功。
$ which bitcoind
/usr/local/bin/bitcoind
$ which bitcoin-cli
/usr/local/bin/bitcoin-cli
bitcoind 默认的安装位置是/usr/local/bin。当你第一次运行bitcoind时,它会提醒你用一个安全密码给JSON-RPC接口创建一个配置文件。通过在终端输入bitcoind就可以运行bitcoind了:
$ bitcoind
Error: To use the "-server" option, you must set a rpcpassword in the configuration file:
/home/ubuntu/.bitcoin/bitcoin.conf
It is recommended you use the following random password:
rpcuser=bitcoinrpc
rpcpassword=2XA4DuKNCbtZXsBQRRNDEwEY2nM6M4H9Tx5dFjoAVVbK
/home/ubuntu/.bitcoin/bitcoin.conf
注意这个文件运行比特币核心客户端。
当你第一次运行的时候,它会下载所有的区块,重新构建比特币区块链。
选项 -daemon 可以以后台模式运行 bitcoind。
$ bitcoind -daemon
通过命令行使用比特币核心的JSON-RPC API接口
比特币核心客户端实现了JSON-RPC接口,这个接口也可以通过命令行帮助程序bitcoin-cli访问。命令行可以使用API进行编程,让我们有能力进行交互实验。开始前,调用help命令查看可用的比特币RPC命令列表:
$ bitcoin-cli help