一个以太坊模拟器,用于帮助智能合约开发。
eth-testrpc的Python项目详细描述
#以太坊测试rpc服务器
< >[加入聊天,网址是https://gitter.im/pipermerriam/eth testrpc"(https://badges.gitter.im/pipermerriam/eth testrpc.svg))(https://gitter.im/pipermerriam/eth-testrpc?utm_source=badge&utm_medium=badge&utm_campaign=pr badge&utm_content=badge)##以太坊测试rpc
用于自动测试的有限rpc客户端。使用 [pythesam](https://github.com/ethereum/pyethereum)运行以太坊客户端 无需挖掘或联网的幕后操作。结果是 提供即时结果和快速反馈的以太坊客户端 开发。
###安装
安装很容易,通过pip:
TT> $pip安装eth testrpc
或者,要升级:
TT> pip安装eth testrpc
或者,用gevent螺纹安装
TT> pip安装eth testrpc[gevent]
然后设置环境变量testrpc_threading_backend=gevent
###运行
通过pip安装将使您的计算机上可以使用testrpc py命令:
TT> $TESTRPC
这将在localhost:8545上运行testrpc。您可以通过不同的端口(-p,–port)或域(-d,–domain)。
###实现的方法
当前实现的rpc方法是:
- 以太币库
- ETH账户
- 加斯普里斯
- ETH区块号
- 发送事务
- eth\u sendrawtransaction
- 以太电话
- eth\u getcompilers
- ETH编译性
- eth\u getcode(仅支持块号"最新")
- 获得平衡
- 交易计数
- eth嫒gettransactionbyhash
- 交易收据
- eth\u newblockfilter(在底层库中实现之前暂时删除)
- eth\u newfilter(在底层库中实现之前暂时删除)
- eth\u getfilterchanges(在底层库中实现之前暂时删除)
- eth嫒uninstallfilter(在底层库中实现之前暂时删除)
- eth_protocolversion(请参见rpc_configure)
- eth同步(请参见rpc配置)
- eth_mining(请参见rpc_configure)
- web3\u sha3
- web3\u客户端版本
- 网络版本(请参阅rpc配置)
- 网络监听(请参阅rpc配置)
- 网络对等计数(请参见rpc配置)
还有一些特殊的非标准方法未包含在原始rpc规范中:
- evm_reset:无参数,无返回值。
- evm_snapshot:无参数。返回创建的快照的整数ID。
- evm_revert:一个可选参数。还原为传递的快照ID或最新的快照。
调用evm_reset时,testrpc将还原其内部的状态 链回到创世地块,它将好像没有处理 交易已经发生。类似地,您可以使用evm_snapshot和 evm_revert保存和还原所需的EVM状态。例用 这些方法的情况如下:
- evm_reset:在测试套件开始时运行一次。
- evm_snapshot:在每个测试开始时运行,捕捉evm的状态。
- evm_revert:在每个测试结束时运行,恢复到已知的干净状态。
testrpc还公开了通过一些 块数。
- evm_mine:可选地为要挖掘的块数提供整数。默认为1块。无返回值。
testrpc公开了testing\u timetravel方法,用于快速转发到未来的时间戳。
- testing_timetravel:获取一个整数时间戳,该时间戳必须大于当前最新块的时间戳。
testrpc公开rpc_configure方法,该方法可用于修改 以下端点返回的静态值。
- ETH协议版本(默认值63)
- eth同步(默认值false)
- eth_mining(默认值true)
- 网络版本(默认1)
- 网络监听(默认值假)
- 网络对等计数(默认值0)
- 宅基地单元号(默认值0)
- dao_fork_block_number(默认0)
- anti_dos_fork_block_number(默认值0)
- 清除fork区块号(默认值0)
rpc配置需要两个参数。
- 键:表示要更改返回值的rpc方法的字符串。
- 值:端点应返回的值。
宅基地,dao,反垄断和清理叉子配置决定了 各fork规则应生效的块号。所有 默认为0
testrpc使用4000000的默认气体限制。要更改此设置 环境变量testrpc_gas_limit到所需值。
###发布新版本(用于eth testrpc开发人员)
- setup.py中的bump版本号
- 在changes.txt中添加条目
- 标记释放。
- 在changes.txt中添加条目
TT> git标签-s-m"x.x.x版本"vx.x.x git push--标记
- 在github上发布您刚才按下的标签
- 生成并将发布推送到pypi
TT> 使释放
###许可证
麻省理工学院< /P>
###消费
这个图书馆最初是康森斯的著作,后来当它 已不再维护。非常感谢他们创造了这个 有用的库。