一个用于辅助智能合约开发的以太坊模拟器。
项目描述
# 以太坊测试RPC服务器
## 以太坊测试RPC
针对自动化测试使用的有限RPC客户端。使用[pythereum](https://github.com/ethereum/pyethereum)在后台运行以太坊客户端,无需挖矿或网络。结果是提供一个即时结果和快速反馈的以太坊客户端。
### 安装
安装很简单,通过pip
` 使用pip安装 eth-testrpc `
或者,升级
` pip install eth-testrpc --upgrade `
或者,使用gevent线程安装
` pip install eth-testrpc[gevent] `
然后设置环境变量 TESTRPC_THREADING_BACKEND=gevent
### 运行
通过pip安装将在您的机器上提供< cite>testrpc-py命令
` $ testrpc `
这将在localhost:8545上运行testrpc。您可以传递不同的端口(-p, –port)或域名(-d, –domain)。
### 实现的方法
当前实现的RPC方法有
eth_coinbase
eth_accounts
eth_gasPrice
eth_blockNumber
eth_sendTransaction
eth_sendRawTransaction
eth_call
eth_getCompilers
eth_compileSolidity
eth_getCode(仅支持“latest”块号)
eth_getBalance
eth_getTransactionCount
eth_getTransactionByHash
eth_getTransactionReceipt
eth_newBlockFilter(暂时移除,直到在底层库中实现)
eth_newFilter(暂时移除,直到在底层库中实现)
eth_getFilterChanges(暂时移除,直到在底层库中实现)
eth_uninstallFilter(暂时移除,直到在底层库中实现)
eth_protocolVersion(见 rpc_configure)
eth_syncing(见 rpc_configure)
eth_mining(见 rpc_configure)
web3_sha3
web3_clientVersion
net_version(见 rpc_configure)
net_listening(见 rpc_configure)
net_peerCount(见 rpc_configure)
还有一些特殊的非标准方法,这些方法不包括在原始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的 evm_mine 方法。
evm_mine:可选提供要挖掘的整数块数。默认为1块。无返回值。
TestRPC公开了用于快速前进到未来时间戳的 testing_timeTravel 方法。
testing_timeTravel:接受一个整数时间戳,该时间戳必须大于当前最新块的戳记。
TestRPC公开了用于修改以下端点返回的静态值的 rpc_configure 方法。
eth_protocolVersion(默认 63)
eth_syncing(默认 False)
eth_mining(默认 True)
net_version(默认 1)
net_listening(默认 False)
net_peerCount(默认 0)
homestead_block_number(默认 0)
dao_fork_block_number(默认 0)
anti_dos_fork_block_number(默认 0)
clearing_fork_block_number(默认 0)
rpc_configure接受两个参数。
key:表示您想要更改返回值的RPC方法的字符串。
value:端点应返回的值。
《宅地》、《DAO》、《反DDoS》和《清算》分叉配置决定了相应分叉规则应在哪个区块号生效。所有默认值均为< cite>0。
TestRPC使用默认的gas限制为4000000。要更改此值,请将环境变量TESTRPC_GAS_LIMIT设置为所需值。
### 发布新版本(针对eth-testrpc开发者)
在setup.py中增加版本号
在CHANGES.txt中添加条目
标记发布。
` git tag -s -m "X.X.X 发布" vX.X.X git push --tags `
为刚推送的标签在GitHub上进行发布
构建并推送发布到PyPI
` make release `
### 许可证
MIT
### Consensys
此库最初由Consensys编写,后来在不再维护时转让。非常感谢他们创建了这个极其有用的库。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
eth-testrpc-1.3.5.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 15fa8f0e971efa60c22ebc5824eedb391b89e7625124d4ef44b25fcc4264995c |
|
MD5 | 524c097899252a4293d74352cc7ae263 |
|
BLAKE2b-256 | 2b2503980344b8644c606223875a1ae10263918c2099aeadadc6d787d5a6d21c |
eth_testrpc-1.3.5-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 0e19fe5b8b66b8848a876909717ac7a57ebc3d993f4e6cfc5c5bd19d437f8aa5 |
|
MD5 | 180df6c91dcf3f1ca656f3b53d78ac2d |
|
BLAKE2b-256 | bc9a8a8c90b8ed4db0afc39bc7b67b52aa8cbbc9c08bbd93f7ca92719e3493a3 |