未提供项目描述
项目描述
pyrevm
Blazing-fast Python bindings to revm
快速入门
make install
make test
示例用法
这里我们展示了如何从Ethereum主网分叉并模拟来自 vitalik.eth
的交易。
from pyrevm import EVM, Env, BlockEnv
address = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" # vitalik.eth
address2 = "0xBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
fork_url = "https://mainnet.infura.io/v3/c60b0bb42f8a4c6481ecd229eddaca27"
# set up an evm
evm = EVM(
# can fork from a remote node
fork_url=fork_url,
# can set tracing to true/false
tracing=True,
# can configure the environment
env=Env(
block=BlockEnv(timestamp=100)
)
)
vb_before = evm.basic(address)
assert vb_before != 0
# Execute the tx
evm.message_call(
caller=address,
to=address2,
value=10000
# data
)
assert vb_before != evm.basic(address)
assert evm.basic(address2).balance == 10000
跟踪
同时支持跟踪
from pyrevm import EVM
EVM(tracing=True)
交易
支持检查点
from pyrevm import EVM
evm = EVM()
checkpoint = evm.snapshot()
evm.message_call(
caller=...,
to=...,
value=...,
)
evm.revert(checkpoint) # or: evm.commit() to clear all checkpoints
注意:与Rust库相比,Python库不会自动提交到数据库。
更多使用示例请参阅pytests。
开发
我们使用Poetry进行虚拟环境管理,并使用Maturin作为我们的Rust <> Python FFI构建系统。Rust绑定是由PyO3提供的宏自动生成的。
要构建库,请运行make build
。要运行测试,请运行make test
。
注意:如果用于生产构建,请使用make build-prod
,否则性能将降低。
要发布到PyPI,请创建一个新的GitHub发布。这将运行.github/workflows/release.yml
操作,并将源+二进制轮次发布到PyPI。
基准测试
待办事项
项目详情
关闭
pyrevm-0.3.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cd2686a08c51872c0f1f615b9cbedb92d5fe28a7709226b40ced54dfff81cb3f |
|
MD5 | ea35b06ccae6521eebca1dafeb9d2dad |
|
BLAKE2b-256 | 97364065d382d27152d4250cd4ec3871ca8271f1c181c686e01c80e0a2495046 |
关闭
pyrevm-0.3.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9661740a03b0cb6ad57f5dce3272e940181c431686650cedc7c957f8e908923f |
|
MD5 | 44b52c3d8dc880b8b4bdb15a06959f8c |
|
BLAKE2b-256 | 5c5ba32d57f1629528c786b6586008ae1799bbbdb9d313de2fe5e0a74e8a2406 |
关闭
pyrevm-0.3.3-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 43bfe5954f8af2e3e53615c06930aba76e128581bcb53ce99421e8255d3d7886 |
|
MD5 | 0e32825a43452fd14a8ba9a7b5f44c53 |
|
BLAKE2b-256 | 65839ac5ab9efc3243d256bf72e191539fd12ea228ea5ef73864a9bdbbded024 |
关闭
pyrevm-0.3.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 108ad8dc1f41302a64bc870faeadd3405056c93b09953584cdde6eba51b918a3 |
|
MD5 | 877f79ffb19db3577093f083a606ca6c |
|
BLAKE2b-256 | a60eadab22bf54d429f03461b4a71bbf07d42ee1dc28b863db42d006bcaee3f4 |
关闭
pyrevm-0.3.3-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9dcb27a4aa69cca3cfe7334785f6477b4dde0286827db880ab48a147838ad12c |
|
MD5 | 78b737696442a9df5e4515568099cc42 |
|
BLAKE2b-256 | ae24ef77afeab806368665c4b06ac4946b0892f73ef26e53219dd01fed261b5a |
关闭
pyrevm-0.3.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 67dc61d584622dd877531c503adf3de6be4b1748baec052df9f9b33e61643c69 |
|
MD5 | 2ad4d112f40b471517b324e1a9124b36 |
|
BLAKE2b-256 | 0193a53240f603fd758a4aeb10053e457d34fb014b67256ff3ca8cf1d59e68e2 |
关闭
pyrevm-0.3.3-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4c2ce24313f42de56059e588cd8124a11c3dcf700a08e886fd41b5d112d02d6a |
|
MD5 | efda4bcfd011d97cdfdc8ee61dc75b59 |
|
BLAKE2b-256 | 83d277735b992cfa295292d7e14ed48b7990403f5b80af49fbfdafbacadd7503 |
关闭
pyrevm-0.3.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fd67c520f18a85fac8b245c53021b161203e521bb4149ec73d46fadd53969098 |
|
MD5 | f14e2509dcf2243d073d4f9de4bca8eb |
|
BLAKE2b-256 | 438e02e70d12e08d6d1f7c4be31ed05a1be537a92c8291ee10d2d3ea6e3091fb |
关闭
哈希值 用于 pyrevm-0.3.3-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1a14d6c1f9a527eb34551057074977d76fe13682fa6a5236f521a4bb5b3bd87d |
|
MD5 | b887f736b1549d7d26d68a97ef421b79 |
|
BLAKE2b-256 | e62765a281698f7a6c637b0644f37358ff946d01a45369f7a22165fb3c071d91 |
关闭
哈希值 用于 pyrevm-0.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 40f982b736d44c2ba0ecbf60d31895062db7a51fd4f8f7a16fc24062c4980b3a |
|
MD5 | 7446f4cf16eb5e248cb8cfffda0da7a3 |
|
BLAKE2b-256 | eb41d887ddc8721ca58aa873fdad654a7a7813fdd665cdf41023eb83ca7f53b5 |
关闭
哈希值 用于 pyrevm-0.3.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a738adcc0d567b5cc4e6e4a8378b4d894125240c84516cf7bfd779cad597ed5c |
|
MD5 | 34efa52ab15561acd7dc2926a81b4541 |
|
BLAKE2b-256 | f474a5894433e7b59bce65b3a0f344a29c017ddf8310cefa54122f6015eb68c3 |
关闭
哈希值 用于 pyrevm-0.3.3-cp312-cp312-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ac341771699dc5652ae7d5ffb151fcdc80181c03197eed7b0282422a922f73e2 |
|
MD5 | 3eb3dc3bca6add8a082059626bf8e808 |
|
BLAKE2b-256 | 40ccb9c7eaadeaf3cd53430e016285419036a3149e59ccc9d4ed2b2e64ee2b5a |
关闭
哈希值 用于 pyrevm-0.3.3-cp312-cp312-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ec688b37dfc39a85a0a6f7709ee434b72e4e9c9f0bc7a525cd583dd5b7b97529 |
|
MD5 | f65fcfee38e41f8615874fa751ee8535 |
|
BLAKE2b-256 | 3b93f57edb9a4df280e0e269a8599b479c45c9244a9ed876baa1a172f2b5ee54 |
关闭
哈希值 用于 pyrevm-0.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d0d18c286f579b1b60ee9111d887a832de213313424751c94ea61d70c18bc03a |
|
MD5 | cad470200ceef220d52b97fe657012f4 |
|
BLAKE2b-256 | 2f2418629eaa751e6d113e26de5be3c8d87d1f0362df189870446a8328b82771 |
关闭
哈希值 用于 pyrevm-0.3.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 950a07c64b3428f5b761c273589d12ea1a22419d41729e14a1059afff317105a |
|
MD5 | 3956592b0c6d0be199471386c523249e |
|
BLAKE2b-256 | 7bf3cd339a81c404ccfb10c79ddd2a5b76f780ddaa5d7b1e44dda9b8643fc570 |
关闭
哈希值 用于 pyrevm-0.3.3-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9c97ddbfc3c5a408ff24df7014f4cd87dcc7eb2e1d697cefe53aa6be4ba86067 |
|
MD5 | 26dd03d6679d0beea4c2bd7fe53363f6 |
|
BLAKE2b-256 | b93a1eca64ffaed19040e797da12acf3eac51ca87f3f46b6a0c2c029b4150126 |
关闭
哈希值 用于 pyrevm-0.3.3-cp311-cp311-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c6f48cd9c9728d236eaf963746b38218cb346e5049c04a9d1fda59f17018e28f |
|
MD5 | 6a6f0ad2277dc1929f985167fd5011ae |
|
BLAKE2b-256 | d66ec9730301f27df3755a9bc7054feab6f26f71d24e3703f3cd9e08712d1b66 |
关闭
哈希值 用于 pyrevm-0.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | df35ac89ec7cbf1b7203a30776d51a76a2a4f5390b24f8558da400b75037daad |
|
MD5 | 38ffa84e1e33aeda6d957bd6496af49a |
|
BLAKE2b-256 | 05e3745d52384969a0c59adb85476db044456d5b0142e93e5b6ca67c41d12314 |
关闭
哈希值 用于 pyrevm-0.3.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e55ecec995c5831bddbd46add07f1478eb2ea6211fed5bdbed1e7ad80ed4a8c7 |
|
MD5 | 5a2b990798e2dbd6f2a44db5cb0b15ac |
|
BLAKE2b-256 | 78104d8318d598ca43cf95ce1903fabbe84430cc63f957b5b422691231f5d316 |
关闭
哈希值 用于 pyrevm-0.3.3-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 72396324a7fff824339d175fa16113fe670626eece50c7a665d8152d0c81e408 |
|
MD5 | eed2fa03b9ec35536ff935692881a8c1 |
|
BLAKE2b-256 | 9df3881cd32a9008fb5b2f1530d732be69479133ce00e0775dc1310860dbbb58 |
关闭
哈希值 用于 pyrevm-0.3.3-cp310-cp310-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b9520ca226830f4d3100c58251e0af2ab12853a88e8d64dfd2d9fcbbee5963d8 |
|
MD5 | 09a853b395f627370a7dda51300d0fd8 |
|
BLAKE2b-256 | b5340f1d877ddea671d9abe193a6f24eabe680c7da08c38142a9d0aef9f7b714 |
关闭
哈希值 用于 pyrevm-0.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 08013d4c29575195e0cebbfa33d88b783df034376fea9ceb71d2cfffe964a5b6 |
|
MD5 | 6b72d76064c5ab5753c4e08dd80320c8 |
|
BLAKE2b-256 | c482a013d8ed68e7c5509a18a9ce178146b794f2495b1c9c96eec940cd5467ce |
关闭
哈希值 用于 pyrevm-0.3.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2f5cf30a97002bbf3d9abe41bf247f6dd0414ae64a735771995cfcedbf027fdc |
|
MD5 | 1c554b81cee14702309952e44cc02fbb |
|
BLAKE2b-256 | 79039612317122ce69fd267e8288ddc852b98cf5845619097e6656d92daa5e2e |
关闭
哈希值 用于 pyrevm-0.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 93e88e84c0ef4d6b023102fa1568ebf46ed279c7bd98c4ff4fed1820f4c42406 |
|
MD5 | 34df3c6bc4603e3505de53d72ec04ea7 |
|
BLAKE2b-256 | 9430a688a47923c3b4a967d030fa073e90fa032d8150dcce812ad48e71072591 |
关闭
哈希值 用于 pyrevm-0.3.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2f07a98d69d2161bdc889960d2c28c4b65d80a0fd0126aef373d431306555044 |
|
MD5 | 194f6a48ab6e3eb6e69e410a76796ada |
|
BLAKE2b-256 | 5cbc605785ec3fde299ae3f847936611b3283be525b801731eac2a7e6f7df67d |
关闭
哈希值 用于 pyrevm-0.3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 11bc780947f176cfc7de8d463f80c271b73302c438cf280964ee8210c8a98115 |
|
MD5 | b3e5af35753aa91b421bb52abed40818 |
|
BLAKE2b-256 | f56de824c8278179615e38e4c35a335537a10a2dae3534add19bdc00c2362014 |
关闭
哈希值 用于 pyrevm-0.3.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b4dedd627fc0198ef0fc82f43ba953e92480fbf6e23b6a99bcc93da289447114 |
|
MD5 | 95220b698dadbc6960b8f6db2c8082e4 |
|
BLAKE2b-256 | f078460affdae752ff659aab8c250b439ada8e358241c74f9e587cd0b55613fa |