功能介紹
模擬兩個(gè)節(jié)點(diǎn),構(gòu)建簡(jiǎn)單比特幣網(wǎng)絡(luò)。模擬兩個(gè)節(jié)點(diǎn)的查帳、轉(zhuǎn)帳、挖礦操作。
0. 測(cè)試環(huán)境
- 使用docker進(jìn)行測(cè)試,里面包含了常用的命令,并且進(jìn)行了封裝
-
- 自己構(gòu)建環(huán)境,安裝bitcoind\bitcoin-cli等命令
以下使用docker環(huán)境進(jìn)行測(cè)試
1. 啟動(dòng)測(cè)試的容器
docker run -t -i -p 19001:19001 -p 19011:19011 freewil/bitcoin-testnet-box
2. 創(chuàng)建兩個(gè)節(jié)點(diǎn)
make start
命令會(huì)轉(zhuǎn)換成bitcoin-cli的命令,這里只是簡(jiǎn)寫(xiě)了一下
3. 查看兩個(gè)節(jié)點(diǎn)錢(qián)包狀態(tài)
bitcoin-cli -datadir=1 getwalletinfo #查看節(jié)點(diǎn)1的狀態(tài)
bitcoin-cli -datadir=2 getwalletinfo #查看節(jié)點(diǎn)2的狀態(tài)
這里不用make,是因?yàn)閙akefile的封裝遇到了版本問(wèn)題
4. 模擬挖礦 - 使網(wǎng)絡(luò)生次
新網(wǎng)絡(luò)要先創(chuàng)建100個(gè)區(qū)塊,才能使網(wǎng)絡(luò)生效
make generate BLOCKS=100
使用節(jié)點(diǎn)1進(jìn)行的挖礦
5. 正式挖礦
make generate
節(jié)點(diǎn)1挖礦一次,獲取50個(gè)比特幣
bitcoin-cli -datadir=1 getwalletinfo
查詢(xún)節(jié)點(diǎn)1的余額為50BTC
6. 給節(jié)點(diǎn)2轉(zhuǎn)帳
-
創(chuàng)建節(jié)點(diǎn)2帳戶(hù)地址
make address2 -
節(jié)點(diǎn)1給節(jié)點(diǎn)2轉(zhuǎn)帳
make sendfrom1 ADDRESS={上一步獲取到的節(jié)點(diǎn)2地址} AMOUNT=10查看節(jié)點(diǎn)余額,會(huì)發(fā)現(xiàn)帳戶(hù)2未收到幣,是因?yàn)榻灰走€未寫(xiě)入?yún)^(qū)塊
-
將交易寫(xiě)入?yún)^(qū)塊(任意節(jié)點(diǎn)挖礦即可)
make generate -
查看節(jié)點(diǎn)余額,幣已經(jīng)到帳
bitcoin-cli -datadir=1 getwalletinfo bitcoin-cli -datadir=2 getwalletinfo節(jié)點(diǎn)2余額為10BTC。
節(jié)點(diǎn)1轉(zhuǎn)帳后剩余40BTC,節(jié)點(diǎn)1又挖礦一次獲取50BTC,節(jié)點(diǎn)1余額為:90BTC。會(huì)扣除一小部分的手續(xù)費(fèi)。