1. 編寫創世塊文件:
{
"config": {
"chainId": 10605,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"alloc" : { },
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x2000000",
"extraData" : "",
"gasLimit" : "0x2000000",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}
该文件中的alloc 项,在开始创建文件时是空的,其中的内容表示区块链建立时特定的{账户:余额}
2. 初始化private 網絡:
1)自定義私有鏈的路徑和網絡ID以及初始化創世塊:
cd chain
geth –datadir C:\区块链DB存放路径 --networkid 54321 init C:\创世块配置文件路径\genesis.json
2) 進入console:
geth --datadir C:\区块链DB存放路径 –-nodiscover console
3. 創建賬戶:
personal.newAccount() 提示輸入密碼:例如“eth” or “eth1”,生成賬戶地址。使用eth.accounts 返回地址。
生成兩個賬戶:
["0x8c9e414ed75674b150c31a8ece644a39e636196a", "0x2cdce66e86a3ca79b4e3ba19c1f3eecccb28a869"]
4. 修改這兩個賬戶的餘額:
1)退出私有鏈:exit
2)刪除C:\chain\geth下的文件
3)修改創世塊中的alloc為:
"alloc" : {
"0x8c9e414ed75674b150c31a8ece644a39e636196a" :{"balance":"9000000000000000000000000000000000000000000000000000"},
"0x2cdce66e86a3ca79b4e3ba19c1f3eecccb28a869" :{"balance":"5000000000000000000000000000000000000000000000000"}
},保存文件。
4)從新初始化:
cd chain
geth --datadir "%cd%" --networkid 54321 init C:\创世块配置文件路径\genesis.json
5. 設置goland調試環境:
1)配置goland
進入配置調試選項窗口
設置輸入參數: --datadir C:\区块链DB存放路径 console
其中:
--datadir 後面的路徑是之前建立好的路徑,keystore和database在該路徑下。
後面跟著的console 是打開交互界面的意思
2) 開始單步調試:
Console可以輸入命令,且有兩個之前申請的賬戶,并且餘額是配置值:
後面就可以通過命令行發送交易、挖礦啦!!!
3)交易:
var tx = {from: "0x8c9e414ed75674b150c31a8ece644a39e636196a", to: "0x2cdce66e86a3ca79b4e3ba19c1f3eecccb28a869", value: web3.toWei(0.2, "ether")}
personal.sendTransaction(tx,’eth’)
記住hash:"0xf0e88f0715c57e7b33b612432410b4c5fc54ea9fe22caaa01a7ae46ce1e08d46"
此時,查看txpool下的狀態:
4) 挖礦:
開始挖礦:miner.start()
PC上挖礦很慢,等了很久才:
代表生成了第一個塊
使用transaction hash查詢:
查看這個transaction所在塊:
不要挖太久,否則你的電腦會受不了的!!!
趕緊停止挖礦:miner.stop()
修改挖礦收益地址:miner.setEtherbase():
8 . 多节点调试:
1)添加peer:建立私链后,第一个P2P网络需要至少2个节点,这两个节点需要进入console输入,其中peer信息通过对端在console下输入admin,查找“enode://”字样获取,并将”[::]”替换为自己的IP地址即可:
admin.addPeer("enode://e53ed891cb0fcaa5ea25fd19318c80a9b055415f03bd2844ab4159df17dd8a92118fc030d9477d1e7dee6be556135cf4a83fb08d93842c4b32847d0e4ee7d130@[192.168.0.194]:30303")
来建立连接,建立连接需要双方交互4对消息,等待20s左后的时间就可以建立成功,通过在console下敲:admin.peers就能验证是否成功
2)挖矿前需要先解锁账户,设置矿工账户,才能挖矿成功:
personal.unlockAccount("0xe876ddc8662ef8d70438d9097b7df9a53b494091","123")
miner.setCoinbase(eth.accounts[1] )
miner.start()
网友评论