go-ehtereum編譯:

git clone https://github.com/ethereum/go-ethereum.git
cd go-ethereum && git checkout
make geth //生成的geth在build/bin/geth
git

建立私鏈github

一、建立文件夾來存儲私鏈數據:web

mkdir privatechain

二、 使用geth來加載:json

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:關閉節點發現機制,防止加入有一樣初始配置的陌生節點

三、 打開另個終端, 進入交互式js執行環境:api

geth attach ipc:<data1>/geth.ipc

eth:包含一些跟操做區塊鏈相關的方法;

net:包含一些查看p2p網絡狀態的方法;

admin:包含一些與管理節點相關的方法;

miner:包含啓動&中止挖礦的一些方法;

personal:主要包含一些管理帳戶的方法;

txpool:包含一些查看交易內存池的方法;

web3:包含了以上對象,還包含一些單位換算的方法。

方法二:網絡

一、 新建genesis.json文件在privatechain目錄下:ide

{
  "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"
}

二、 初始化,建立創世區塊區塊鏈

geth --datadir  ~/privatechain/ init  ~/privatechain/genesis.json

三、 建立私鏈ui

geth --datadir ~/privatechain/ --nodiscover

四、使用js交換環境:code

geth attach ipc:~/privatechain/geth.ipc

五、 新加入節點:

先操做1,2,3,4
執行:admin.addPeer("<節點信息>@ip: 30303")
返回: true

api:eth_getBalance 流程:

// ethclient/ethclient.go
相關文章
相關標籤/搜索