最新消息:本站技术交流 QQ 群:28124927

geth 搭建以太坊私有链测试

区块链/比特币 exchen 3237浏览 0评论

geth 搭建以太坊私有链测试

安装 geth

macOS 下安装非常简单,使用 brew 安装即可,安装完成后输入 geth -version 可以查看版本,验证是否安装成功

也可以下载源码编译

安装之后,如果什么参数都不跟,直接运行 geth 会下载全节点,全节点的数据下载较大,会有几百个G,接下我们创建私有链进行测试,私有链的区块数据是从零开始。

创建私有链

创建一个myChain目录,再添加一个 initBlockchain.json 文件,用于指定私有链的相关信息。

initBlockchain.json 的文件如下,chainId 是指定的链ID,这里我们自定义为100,difficulty 是指定的挖矿难度。

启动 geth, 指定 datadir,跟一个 init 参数,指定初始化的 json 文件,即可创建私链。

创建私链成功之后,指定目录和网络 ID,还记得之前我们在初始化的 json 配置文件里指定的 networkid 是 100 吗?这个就是网络ID。

最好是开启控制台可以用于交互。

如果控制台输出的信息过多,可以将输入信息指定到一个日志文件里,然后使用 tail -f 可以实时看到日志文件里的输出信息。在控制台输入 web3 可以有很多可用的接口,最常用的接口是 eth, personal,miner,providers 等。

再开一个命令行窗口,tail -f 实现可以查看日志文件信息。

eth.accounts 可以查看当前的账户,可以看到账户现在是空的,eth.blockNumber 可以查看当前的区块高度是0。personal.newAccount() 可以新建一个账户,输入密码即可创建成功,再输入 eth.accounts 查看,这时已经有一个账户了。

eth.getBalance 可以查看账户的余额,可以指定具体的地址,也可以指定是第几个账户,账户默认是从0开始的。

eth.sendTransaction 可以发送交易,from 指定发送者,to 指定接受者,value 指定需要发送的金额,单位是 Wei。由于账户的金额是0,所以发送交易会提示失败。

通过挖矿得可以到币,输入 miner 可以查看有什么接口函数。

执行 miner.start(1) 即可开始挖矿,过一会再执行 eth.blockNumber 查看当前区块的高度,发现是 25,说明挖了 25 个区块,再查看账户的余额,发现已经有币。

由于单位是 wei 不方便查看,通过 web3.fromWei 可以将 wei 转换成个,可以看到现在账户里是有 50 个币。

再尝试发送一笔交易,发现还是失败的,这是由于没有给账号解锁。

执行 personal.unlockAccount 可以给账号解锁,再次发送账户成功,不过还需要再挖矿,交易才会被打包。

转载请注明:exchen's blog » geth 搭建以太坊私有链测试

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址