Ubuntu20.04安装ganache-cli区块链模拟器

时间:2022-04-18 23:25   作者:ChenReal    阅读:457

上回介绍了geth的安装,为了实战做准备的。若是本地开发调试Dapp的话ganache-cli是必不可少的。

ganache-cli是以太坊节点仿真器软件ganache的命令行版本,可以方便开发者快速进行以太坊DApp的开发与测试。

  • 可以生成一组模拟账号
  • 可以自动挖矿把交易记录到区块中
  • 可以指定network

说说ganache-cli的安装和具体使用吧。

1、安装 node.js

Ubuntu 默认的 node.js版本太低了,装好了发现只有V12,truffle工具都跑不起来。果断先更新一下,ubuntu的sourcelist:

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -

然后再安装node.js

sudo apt update
sudo apt install nodejs npm

验证安装是否成功

node --version
npm --version

2、 安装ganache-cli

sudo npm install -g ganache-cli

3、启动ganache-cli

ganache-cli

4、命令参数

  • -a 或 –accounts: 指定启动时要创建的测试账户数量。
  • -e 或 –defaultBalanceEther: 分配给每个测试账户的ether数量,默认值为100。
  • -b 或r –blockTime: 指定自动挖矿的blockTime,以秒为单位。默认值为0,表示不进行自动挖矿。
  • -d 或 –deterministic: 基于预定的助记词(mnemonic)生成固定的测试账户地址。
  • -n 或 –secure: 默认锁定所有测试账户,有利于进行第三方交易签名。
  • -m 或 –mnemonic: 用于生成测试账户地址的助记词。
  • -p 或 –port: 设置监听端口,默认值为8545。
  • -h 或 –hostname: 设置监听主机,默认值同NodeJS的server.listen()。
  • -s 或 –seed: 设置生成助记词的种子。.
  • -g 或 –gasPrice: 设定Gas价格,默认值为20000000000。
  • -l 或 –gasLimit: 设定Gas上限,默认值为90000。
  • -f 或 –fork: 从一个运行中的以太坊节点客户端软件的指定区块分叉。输入值应当是该节点旳HTTP地址和端口,例如http://localhost:8545。 可选使用@标记来指定具体区块,例如:http://localhost:8545@1599200。
  • -i 或 –networkId:指定网络id。默认值为当前时间,或使用所分叉链的网络id。
  • –db: 设置保存链数据的目录。如果该路径中已经有链数据,ganache-cli将用它初始化链而不是重新创建。
  • –debug:输出VM操作码,用于调试。
  • –mem:输出ganache-cli内存使用统计信息,这将替代标准的输出信息。
  • –noVMErrorsOnRPCResponse:不把失败的交易作为RCP错误发送。开启这个标志使错误报告方式兼容其他的节点客户端,例如geth和Parity。

–account参数示例

  • 指定账户私钥和账户余额来创建初始测试账户。可多个账号固定private key、固定balance的账户,那么开发应用的时候就不用每次都重新配置account了。例如:
ganache-cli --account=\"0x5d6ea214095708295d27c31e46f8d99b17e3ee19ba3a12b76ede54ccd111c451,0x200000000000000000\"  --account=\"0xb884be86c5961802bec605d56867e4bb5191bd1f42d7a2528e6a0739181c5845,0x200000000000000000\"    

注意:balance的单位是wei

5、后台运行

如果想让ganache-cli类似后台服务那样的运行,搭配nohup命令一起使用即可。例如:

nohup ganache-cli --account=\"0x231e77c85c88793405bf9acc1904e2f8c40ceb27aaefc5962b7edc139dbec8e1,0x200000000000000000\" --account=\"0x7e8bab89b3bdfc5d9602c55ed78d502f65bb9b9e91cf43f368582d9d15329ed0,0x200000000000000000\" --account=\"0x063d4cc21db1ada7a7c64c643e3b0632a69b7687fe94f1a797a0f5e8d7090ce1,0x200000000000000000\" -l 90000000 -g 200000 -i 15 >> /home/ubuntu/dapp/ganache.log 2>&1 &

 

评论
0/200