一个以太坊模拟器,用于帮助智能合约开发。

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_snapshotevm_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中添加条目
  • 标记释放。

TT> git标签-s-m"x.x.x版本"vx.x.x git push--标记

  • 在github上发布您刚才按下的标签
  • 生成并将发布推送到pypi

TT> 使释放

###许可证

麻省理工学院< /P>

###消费

这个图书馆最初是康森斯的著作,后来当它 已不再维护。非常感谢他们创造了这个 有用的库。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Hibernate、Spring和SLF4J绑定   java如何准确地导航导航地图。天花板入口()工作?   从excel文件导入数据时发生java异常   java如何将地图转换为url查询字符串?   java HSQLDB在数据库中插入值   java将元素从JTextField添加到ArrayList   java如何使用SetDataSource从名称中有空格的MP3文件中获取唱片集艺术   java排序ArrayList<ArrayList<String>>作为行字段   java在拼写检查器中更新正确的拼写   哪里可以找到JavaAPI类图?   spring boot如何在自动生成的swagger java类中屏蔽任何参数   java使用哪种设计模式(我需要类似中介模式的东西)?   java为什么JTextfield没有出现在这个实例中?   如何在Java中向当前日期添加一个月?   安卓如何使java类可序列化,从而扩展不可序列化的