1. eth、mist 客户端下载
geth客户端: https://geth.ethereum.org/downloads/
mist客户端: https://github.com/ethereum/mist/releases
2.创建以太坊初始区块文件 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"
}
关键字段解释:
chainId : 以太坊区块链网络Id,ethereum主链是1,私有链只用不要与主链冲突即可。
alloc : 预留账户
Coinbase: 旷工账户
Difficulty: 挖矿难度,0x400,这个是简单
extraData:备注信息
Timestamp : 时间戳
3.初始化区块节点
geth --datadir data0 init genesis.json
4.启动geth客户端节点
geth --identity "Node1" --datadir "data0" --rpc --rpcapi "db,eth,net,web3" --rpcaddr "127.0.0.1" --rpcport "8545" --port "30304" --networkid "11" console
关键字段解释
--datadir : 指定节点存在位置,“data0”
--rpc : 启用http-rpc服务器
--rpcapi : 基于http-rpc提供的api接口。eth,net,web3,db
--rpcaddr : http-rpc服务器接口地址:默认“127.0.0.1”
--rpcport : http-rpc 端口(多节点时,不要重复)
--port : 节点端口号(多节点时,不要重复)
--networkid : 网络标识符 随便指定一个id(确保多节点是统一网络,保持一致)
5.geth常用命令
- 创建账号 "123"表示你要创建的账号密码
personal.newAccount("123")
- 获取账户
eth.accounts
- 解锁账户
personal.unlockAccount(eth.accounts[0], "123")
- 查看主节点账户
eth.coinbase
- 查看账户余额
eth.getBalance(eth.accounts[0])
- 启动挖矿
miner.start()
- 停止挖矿
miner.stop()
6.配置多节点服务
- 重新初始化一个新的节点 注意: “data1”作为新节点的存储目录
geth --datadir data1 init genesis.json
- 启动新节点
geth --identity "Node2" --datadir "data1" --rpc --rpcapi "db,eth,net,web3" --rpcaddr "127.0.0.1" --rpcport "8546" --port "30305" --networkid "11" console
- 产看节点信息:
admin.nodeInfo.enode
- 主节点添加新节点
admin.addpeer("enode://xxxxxxxx节点信息"
......mist钱包后期更新