编译bitcoin
下载源码,当前的 release 版本是 0.16.1
bin/bitcoin-qt (GUI) or
bin/bitcoind (headless)
编译比特币代码
export USE_DOCKER=1
bin/make-base-vm –docker –arch amd64 –suite trusty
./bin/gbuild -j2 –commit bitcoin=HEAD ../bitcoin-addrindex_0.15/contrib/gitian-descriptors/gitian-linux.yml
配置文件路径:
By default, on Windows, this file is located at %APPDATA%\Bitcoin\bitcoin.conf.
By default, on Linux, this file is located at ~/.bitcoin/bitcoin.conf, and the permissions of the file should be set with chmod 600 ~/.bitcoin/bitcoin.conf.
在 ubuntu 16.04 下面编译
更新系统
sudo apt-get update |
下载代码,切换到 release 版本
git clone https://github.com/bitcoin/bitcoin.git |
安装依赖
sudo apt-get install -y autoconf libtool pkg-config libboost-all-dev libssl-dev libevent-dev |
安装 berkeleyDB
berkeleyDB 是一款嵌入式数据库, 类似 Sqlite. berkeleyDB 做钱包数据库, 保存私钥等. 而且bitcoin 需要特定版本的 berkeleyDB-4.8.30.
sudo apt-get install software-properties-common |
if has following error, install libdb5.3 |
使用 GUI 需要安装 Qt5
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev libminiupnpc-dev |
sudo apt-get install libqrencode-dev |
再执行 make -j3 会生成 bitcoin-qt 运行 ./src/qt/bitcoin-qt 会启动图形界面.
内网穿越库
sudo apt-get install libminiupnpc-dev |
安装 zmq
sudo bash -c 'echo "deb http://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/ ./" >> /etc/apt/sources.list' |
查看boost版本,bitcoin 使用boost1.64 问题少
dpkg -s libboost-dev | grep 'Version' |
编译bitcoin
./autogen.sh |
使用了which bitcoind和which bitcoin-cli两个命令来验证比特币客户端是否安装成功
如果没配置rpc用户和密码,那就用下面的命令结束吧pkill -9 -f bitcoind
cd ~/.bitcoin/ |
写上如下内容
txindex=1 |
txindex:默认情况下,比特币核心只创建与使用者钱包相关的交易索引,如果需要维护全部交易的索引,需要设置该选项。注意:如果一开始没有开启这个选项,则需要重启bitcoind并加上-reindex选项重建索引
运行 bitcoin
后台运行 |
需要一段时间等待数据全部同步完.
执行rpc命令
详细的 rpc 列表
bitcoin-cli -datadir=/mnt/blocks getblockhash 0 |
说明节点已经在同步数据了.
停止bitcoind
bitcoin-cli stop |
启动测试节点bitcoind -testnet --daemon
关闭测试节点bitcoin-cli -testnet --daemon
查看状态
bitcoin-cli -getinfo |
遇到的问题
error: Could not locate RPC credentials. No authentication cookie could be found, and RPC password is not set
So what you should actually be doing is
src/bitcoin-cli -rpcuser={…} -rpcpass={…} getblockchaininfo
查看默认的钱包地址
bitcoin-cli -rpcuser=test -rpcpassword=test getaccountaddress "" |
四、测试币申请
测试币可以免费申请,用于在测试网中探索比特币的各项功能。可以在搜索引擎搜索 bitcoin testnet faucet, 以下几个地址比较容易:
Bitcoin Testnet Faucet
bitcoind,bitcoin-cli,bitcoin-tx
bitcoind
The server version of bitcoin.
bitcoin-cli
This is a program that lets you issue commands to bitcoind. Example:
# ./bitcoin-cli getblockcount |
bitcoin-tx
This is a program that can create, parse, or modify transactions. Example:
# ./bitcoin-tx -json 0100000003ee7f90455d3f8d2d82da68d950b66f247331b5f13e7a5a56de1bc3b52f3bc43a810200008c493046022100a643127f3abb6d8a4d082bd66b9585a4e91a1e10bfce3ac749212b562f4a80560221008d68511acac655ce3df1dbda6a97cd74516ce2595a40e2e89a5168ba05be4c060141047723d175cc78e974ea686a67d44fbed02c81c9c4c9639a4f452e43354ec1baf53777ea0b4483d7a4022cd0ab20bd18b5ec07be9bde19d20e289c0211c066f7bfffffffffd909f8893803ceca676abb5669cd3800fa653c858e6ffbf940f56bc6201c1b1c6c0400008c493046022100c63b0d16f0f2377e14e08c8602af52be5e4411e20f2365c9fc0b439f4dabfa06022100ee1db39a12a5a855ea9ab9a96b817b86b78d55928afed7effa59454c7c19a0350141047723d175cc78e974ea686a67d44fbed02c81c9c4c9639a4f452e43354ec1baf53777ea0b4483d7a4022cd0ab20bd18b5ec07be9bde19d20e289c0211c066f7bfffffffff3b91021ed50547e5a2fe1fcb14112a244e37bb61fee2bc227fa4ac045c5341b0fa0300008b483045022100f0c4c72a693c1fd3413080a478d4fb983ad5ac5d23bdea1a3965b78fdb80192f02201838f4c63e103afdd89d257792f1bfcdfb992566bdf0757d2f2b9ca6e371aedc0141047723d175cc78e974ea686a67d44fbed02c81c9c4c9639a4f452e43354ec1baf53777ea0b4483d7a4022cd0ab20bd18b5ec07be9bde19d20e289c0211c066f7bfffffffff01c62e0000000000001976a91473242dd2a877025c8a0db539a7df5d9af6cdeb1988ac00000000 |