以 mac 操作系统为例:
1.geth 安装:
geth是go-ethereum的简写,是一个用go语言编写的以太坊客户端,是在以太坊智能合约开发中最常用的命令行工具。
在mac上可以通过brew工具直接安装:
brew tap ethereum/ethereum
brew install ethereum
安装完成后,可以再mac的terminal中,用以下命令测试工具是否正常:geth -h
2.我们再桌面创建一个文件夹:suxxPrivate,然后在文件夹里面创建一个文件genesis.json:
{
"config": {
"chainId": 101,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"alloc": {},
"coinbase": "0x0000000000000000000000000000000000000000",
"difficulty": "0x400",
"extraData": "",
"gasLimit": "0xffffffff",
"nonce": "0x0000000000000042",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp": "0x00"
}
然后保存
3.初始化区块节点,在当前目录下执行命令:
geth --datadir data0 init genesis.json
运行成功后会在当前目录创建geth和keystore两个文件夹
geth目录:保存链上的区块数据
keystore目录:保存链上的用户信息
私有链测试
4.启动私有链
前面建立创世区块成功后,启动geth客户端节点:
geth --identity "TestNode1" --datadir "data0" --rpc --rpcapi "db,eth,net,web3" --rpcaddr "127.0.0.1" --rpcport "8486" --port "30304" --networkid "29382" console
输入命令查看是否有账号:
personal.listAccounts
如果没有账号,用命令创建账号:
personal.newAccount("123456")
然后启动挖矿:
miner.start(),再挖矿的过程中,如果有提示信息:Successfully sealed new block,那么恭喜区块成功上链
这是启动命令查看节点是否再增加:
eth.blockNumber
如果有增加,则说明正在挖矿
用后用命令查余额:
eth.getBalance(user)
5.Ethereum wallet 连接geth:
/Applications/Mist.app/Contents/MacOS/Mist --rpc http://localhost:8486
注意这一步的 ip 和端口要跟第四步的一致。