1703878729
区块链项目开发指南 8.1.1 安装和使用
1703878730
1703878731
模仿以太坊节点使用ethereumjs-testrpc的方式如下,每种方式都有用例。
1703878732
1703878733
1.testrpc命令行应用
1703878734
1703878735
testrpc命令用于模仿一个以太坊节点。要安装这个命令行应用,需要在全局安装ethereumjs-testrpc:
1703878736
1703878737
1703878738
1703878739
1703878740
所提供的多个选项如下:
1703878741
1703878742
·-a或者—accounts。用于指定初始时生成的账户数量。
1703878743
1703878744
·-b或者—blocktime。自动挖矿的区块时间(以秒计算)。默认为0,表示没有自动挖矿。
1703878745
1703878746
·-d或者—deterministic。只要节点在运行,就生成10个确定性地址。也就是说,一旦设置这个参数,每次都生成同一地址集。根据预定义的助记符,该选项还可用于生成确定性地址。
1703878747
1703878748
·-n或者—secure。默认锁定可用账户。如果在不使用—unlock选项的情况下使用这个选项,则不会创建HD钱包。
1703878749
1703878750
·-m或者—mnemonic。使用一个特定的HD钱包记忆法生成初始地址。
1703878751
1703878752
·-p或者—port。监听的端口号。默认为8545。
1703878753
1703878754
·-h或者—hostname。监听的主机名。默认为节点的server.listen()缺省值。
1703878755
1703878756
·-s或者—seed。生成被使用的HD钱包助记符的任意数据。
1703878757
1703878758
·-g或者—gasPrice。使用自定义gas价格(默认为1)。如果在向节点发送交易时没有提供gas价格,则使用这个gas价格。
1703878759
1703878760
·-l或者—gasLimit。使用自定义gas上限(默认为0x47E7C4)。如果在向节点发送交易时没有提供gas上限,则使用这个gas上限。
1703878761
1703878762
·-f或者—fork。从另一个目前在特定区块运行的以太坊节点分叉。输入应该是HTTP位置和其他客户端的端口,例如http://localhost:8545。也可以选择用@符号区分区块和分叉,例如http://localhost:8545@1599200。
1703878763
1703878764
·—debug。输出用于调试的VM操作码。
1703878765
1703878766
·—account。该选项用于导入账户。它指定—account=…任意次数,传送任意私钥和相关余额以生成初始地址。Testrpc—account=“privatekey,balance”[—account=“privatekey,balance”]。使用—account不会创建HD钱包。
1703878767
1703878768
·-u或者—unlock。它指定—unlock…任意次数,传送地址或者账户索引以解锁特定账户。当与—secure一起使用时,—unlock将重写指定账户的locked状态:testrpc—secure—unlock”0x1234…”—unlock”0xabcd…”。还可以指定一个数字,用索引解锁账户:testrpc—secure-u 0-u 1。该函数还可以用于模仿账户和打开用户无法访问的地址。当用—fork功能时,可以使用testrpc作为区块链上的任何地址进行交易,这对于测试和动态分析非常有用。
1703878769
1703878770
·—networkId。用于指定节点所在的网络ID。
1703878771
1703878772
注意,私钥有64字符长,必须作为以0x为前缀的十六位字符串输入。余额可以是整数或者以0x为前缀的十六位值,用于指明该账户中wei的数量。
1703878773
1703878774
2.使用ethereumjs-testrpc作为web3提供方或者HTTP服务器
1703878775
1703878776
可以按照如下形式将ethereumjs-testrpc作为web3提供方使用:
1703878777
[
上一页 ]
[ :1.703878728e+09 ]
[
下一页 ]