主页 > imtoken钱包下载 > 基于以太坊构建多节点私有链系统
基于以太坊构建多节点私有链系统
基于以太坊的多节点私有链系统 一、环境
高朗
Geth(使所有编译成为goeth)
2. 节点部署(包括接入、共识、全记录节点)创建账户
geth --datadir node0 账户新建
目录下会添加keystore文件夹,keystore就是保存账户密钥的文件
创世块文件genesis.json
genesis文件定义了私有链的第一个区块以太坊免费公共节点,可以使用puppeth工具生成,可以自定义区块生成时间的共识算法等。
图片.png
初始化
geth --datadir node0 init genesis.json(在步骤2中生成)
Geth会被添加到node0目录下,geth存放的是区块相关的数据
启动第一个节点
创建创世块:
geth --datadir node0 init genesis.json
启动:
geth --datadir node0 --port 30000 --nodiscover --unlock '账户地址' 控制台
加入新节点
创建一个帐户:
geth --datadir node1 账户新建
创建创世块:
geth --datadir node1 init genesis.json(在步骤2中生成)
启动节点:
geth --datadir node1 --port 30000 --nodiscover --unlock '地址' 控制台
在node1控制台通过admin.nodeInfo.enode获取enode信息
通过admin.addPeer("enode information")在node0控制台添加节点
添加第三个节点时以太坊免费公共节点,由于节点数超过3个,矿工在启动节点时会报未授权错误。 这是因为增加一个新节点需要超过半数的节点提名。 在控制台执行:
clique.propose(ldquo;账户地址rdquo;, true)
开启rpc服务(接入节点和全交易记录节点开启)
admin.startRPC("127.0.0.1",8545,"*","eth,net,web3,admin,personal")
开始挖矿(启用共识节点)
miner.start()
三、使用
图片.png
客户端通过相应的SDK调用接入节点,完成合约部署、合约调用、数据查询等功能。