go-ehtereum編譯:
阿新 • • 發佈:2018-05-16
ip地址 cover 存儲位置 one 初始配置 指定 checkout 查看 區塊鏈
git clone https://github.com/ethereum/go-ethereum.git
cd go-ethereum && git checkout
創建私鏈
1、創建文件夾來存儲私鏈數據:
mkdir privatechain
2、 使用geth來加載:
geth --networkid 123 --dev --datadir data1 --rpc --rpcaddr 192.168.1.5 --rpcport 8989 --port 3000 --identity:指定節點 ID; --rpc:表示開啟 HTTP-RPC 服務; --rpcaddr:HTTP-RPC 服務ip地址; --rpcport:指定 HTTP-RPC 服務監聽端口號(默認為 8545); --datadir:指定區塊鏈數據的存儲位置; --port:指定和其他節點連接所用的端口號(默認為 30303); --nodiscover:關閉節點發現機制,防止加入有同樣初始配置的陌生節點
3、 打開另個終端, 進入交互式js執行環境:
geth attach ipc:<data1>/geth.ipc
eth:包含一些跟操作區塊鏈相關的方法;
net:包含一些查看p2p網絡狀態的方法;
admin:包含一些與管理節點相關的方法;
miner:包含啟動&停止挖礦的一些方法;
personal:主要包含一些管理賬戶的方法;
txpool:包含一些查看交易內存池的方法;
web3:包含了以上對象,還包含一些單位換算的方法。
方法二:
1、 新建genesis.json文件在privatechain目錄下:
{ "config": { "chainId": 10, //與github上僅修改此處 "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "alloc" : {}, "coinbase" : "0x0000000000000000000000000000000000000000", "difficulty" : "0x20000", "extraData" : "", "gasLimit" : "0x2fefd8", "nonce" : "0x0000000000000042", "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp" : "0x00" }
2、 初始化,創建創世區塊
geth --datadir ~/privatechain/ init ~/privatechain/genesis.json
3、 創建私鏈
geth --datadir ~/privatechain/ --nodiscover
4、使用js交換環境:
geth attach ipc:~/privatechain/geth.ipc
5、 新加入節點:
先操作1,2,3,4
執行:admin.addPeer("<節點信息>@ip: 30303")
返回: true
api:eth_getBalance 流程:
// ethclient/ethclient.go
go-ehtereum編譯: