1、说明
因为cpp版本客户端资料较少,先使用go语言版本客户端建立私有链:
下载go-ethereum( https://github.com/ethereum/go-ethereum )
(
安装go语言:1、先使用apt安装默认的go,但是此时版本较低;
2、下载最新的go源码,设置export GOROOT_BOOTSTRAP=/usr/lib/go
3、编译go源码;
4、将/usr/lib/go /usr/share/go /usr/bin/go 和 gofmt替换为最新的;
)
然后,按照文档,编译、安装go-ethereum;
2、开始建立
开始建立私有链:
1、准备创世块信息,建立json文件,genesisinfo.json,内容为:
{
"config":{
"chainId":10,
"homesteadBlock":0,
"eip155Block":0,
"eip158Block":0
},
"alloc":{},
"coinbase":"0x0000000000000000000000000000000000000000",
"difficulty":"0x02000000",
"extraData":"",
"gasLimit":"0x2fefd8",
"nonce":"0x0000000000000042",
"mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp":"0x00"
}
2、创建数据存放地址并初始化创世块:
geth --datadir "数据存放地址" init genesisinfo.json
3、启动节点:
geth --identity "PICCetherum" --rpc --rpccorsdomain "*" --datadir "数据存放地址" --port "30303" --rpcapi "db,eth,net,web3"--networkid 95518 console
其中参数含义如下:
identity 区块链的标示,随便填写,用于标示目前网络的名字
init 指定创世块文件的位置,并创建初始块
datadir 设置当前区块链网络数据存放的位置
port 网络监听端口
rpc 启动rpc通信,可以进行智能合约的部署和调试
rpcapi 设置允许连接的rpc的客户端,一般为db,eth,net,web3
networkid 设置当前区块链的网络ID,用于区分不同的网络,是一个数字
console 启动命令行模式,可以在Geth中执行命令
4、启动成功后,进入命令行,主要有以下命令:
创建账号:personal.newAccount()
账号解锁(用于交易):personal.unlockAccount(账号)
主账号:eth.coinbase
当前节点url:admin.nodeInfo.enode
添加其他节点:admin.addPeer(其他节点url)
展示所有节点:admin.Peers
展示账号的以太币:web3.fromWei(eth.getBalance(eth.coinbase), "ether")
开始挖矿:miner.start(线程数)
结束挖矿:miner.stop()
转账:eth.sendTransaction({from:账号, to:接收账号, value:web3.toWei(金额,"ether")})
5、建立好账号之后,其他节点也按照这个步骤建立节点,然后,在主节点,添加其他节点,从而建立起整个网络;












网友评论