BTC的官方网站: http://bitcoin.org
参考: https://bitcoin.org/en/developer-examples
1.安装. 过程如下:
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install bitcoind
update
sudo apt-get install bitcoind
2. 配置:
mkdir -p ~/.bitcoin
touch ~/.bitcoin/bitcoin.conf
vim ~/.bitcoin/bitcoin.conf
server=1 (是否是server)
daemon=1 ( 是否是独立进程, 守护进程 )
# If run on the test network instead of the real bitcoin network
# testnet=0 # 这里设置成为1,就是 测试网络.
# You must set rpcuser and rpcpassword to secure the JSON-RPC api
# Please make rpcpassword to something secure, `5gKAgrJv8CQr2CGUhjVbBFLSj29HnE6YGXvfykHJzS3k` for example.
# Listen for JSON-RPC connections on (default: 8332 or testnet: 18332)
rpcuser=godmode (rpc 用户名)
rpcpassword=????? (密码)
rpcport=8332 (端口)
( 这个应该是用于通知,不是太明白)
walletnotify=/usr/local/sbin/rabbitmqadmin publish routing_key=peatio.deposit.coin payload='{"txid":"%s", "channel_key":"satoshi"}'
# 数据要保存到这里.
datadir=/opt/btc_data
server=1 (是否是server)
daemon=1 ( 是否是独立进程, 守护进程 )
# If run on the test network instead of the real bitcoin network
# testnet=0 # 这里设置成为1,就是 测试网络.
# You must set rpcuser and rpcpassword to secure the JSON-RPC api
# Please make rpcpassword to something secure, `5gKAgrJv8CQr2CGUhjVbBFLSj29HnE6YGXvfykHJzS3k` for example.
# Listen for JSON-RPC connections on (default: 8332 or testnet: 18332)
rpcuser=godmode (rpc 用户名)
rpcpassword=????? (密码)
rpcport=8332 (端口)
( 这个应该是用于通知,不是太明白)
walletnotify=/usr/local/sbin/rabbitmqadmin publish routing_key=peatio.deposit.coin payload='{"txid":"%s", "channel_key":"satoshi"}'
# 数据要保存到这里.
datadir=/opt/btc_data
3. 开始在开发网络上做一些事情. (注意,不是测试网络.测试网络的数据也很大的...直接用 -regtest 在本机搞)
sudo bitcoind -conf=/home/shensiwei/.bitcoin/bitcoin.conf -regtest
bitcoin-cli -regtest generate 101
这个会生成 101个区块. 会在创世区块中,生成50个 BTC. 需要100次确认. 所以,我们要生成 101个.这样就把BTC拿到手了 .
4. 查询余额
$ bitcoin-cli -regtest getbalance
50.00000000
转账
1. 创建个新地址
$ bitcoin-cli -regtest getnewaddress
2MyKRaVfMVT9nbNYAA62Z8s6mT99pg5xLbg
NEWADDRESS=2MyKRaVfMVT9nbNYAA62Z8s6mT99pg5xLbg
2. 转账
$ bitcoin-cli -regtest sendtoaddress $NEWADDRESS 10.00
0e688c4ea859ca424a6f69124cd41d3fe323bc3dafe36ecf7e53334b449ebdd3 (返回的这个,是交易号)
这里是给新的地址转 10元.
运行下面两个命令,可以看到: utxo:
UTXO: unspend transaction output. 未花费的交易输出 (这个概念很重要. )
$ bitcoin-cli -regtest listunspent ( 这里显示是空数组,比特币默认显示 确认过的 UTXO )
[
]
$ bitcoin-cli -regtest listunspent 0 ( 这里显示 没有被确认过的, 所有的 UTXO)
[
{
"txid": "0e688c4ea859ca424a6f69124cd41d3fe323bc3dafe36ecf7e53334b449ebdd3",
"vout": 0,
"address": "2MyKRaVfMVT9nbNYAA62Z8s6mT99pg5xLbg",
"account":