Skip to main content

smart-contract api and embedded ethereum virtual machine

Project description

Simular

A Python smart-contract API with a fast (embedded) Ethereum Virtual Machine (EVM). Simular creates a Python wrapper around production grade Rust based Ethereum APIs.

How is it different than Brownie, Ganache, Anvil?

  • It's only an EVM, no blocks or mining
  • No HTTP/JSON-RPC. You talk directly to the EVM (and it's fast)
  • Full functionality: account transfers, contract interaction, etc...

The primary motivation for this work is to be able to model smart-contract interaction in an Agent Based Modeling environment like Mesa.

Features

  • EVM: run a local version with an in-memory database, or fork db state from a remote node.
  • Snapshot: dump the current state of the EVM to json for future use in pre-populating EVM storage
  • ABI: parse compiled Solidity json files or define a specific set of functions using human-readable notation
  • Contract: high-level, user-friendy Python API

Build from source

  • You need Rust, Python/Poetry, and optionally Make.
  • Create a local Python virtual environment. With Poetry, run poetry install
  • Run make build or run poetry run maturin develop
  • See simular/ for the main python api

Getting Started

See Simular Documentation for examples and API details.

Standing on the shoulders of giants...

Thanks to the following projects for making this work possible!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simular_evm-0.2.0.tar.gz (83.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

simular_evm-0.2.0-cp312-none-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.12Windows x86-64

simular_evm-0.2.0-cp312-none-win32.whl (2.5 MB view details)

Uploaded CPython 3.12Windows x86

simular_evm-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

simular_evm-0.2.0-cp312-cp312-manylinux_2_28_armv7l.whl (5.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARMv7l

simular_evm-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

simular_evm-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (2.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simular_evm-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simular_evm-0.2.0-cp311-none-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.11Windows x86-64

simular_evm-0.2.0-cp311-none-win32.whl (2.5 MB view details)

Uploaded CPython 3.11Windows x86

simular_evm-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

simular_evm-0.2.0-cp311-cp311-manylinux_2_28_armv7l.whl (5.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARMv7l

simular_evm-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

simular_evm-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (2.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simular_evm-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

Details for the file simular_evm-0.2.0.tar.gz.

File metadata

  • Download URL: simular_evm-0.2.0.tar.gz
  • Upload date:
  • Size: 83.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for simular_evm-0.2.0.tar.gz
Algorithm Hash digest
SHA256 85a83e97957179356b9a2b5bda68a0d01eecd69f1b9acfef21757cba3f01f5c1
MD5 21412b3898f266ab1fcdbc6e34ba5cab
BLAKE2b-256 ff5643878e4b9ea4836cb12fcde7ee36ae60972a8d0f5de537943feb63e789ff

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.0-cp312-none-win_amd64.whl.

File metadata

  • Download URL: simular_evm-0.2.0-cp312-none-win_amd64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for simular_evm-0.2.0-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 2eaded9b7b229c040ddcd35a610311285810bca8ef2c0ce1898568d85adc0437
MD5 0ff24e2de64daaea7b29094f82bd077f
BLAKE2b-256 ddaf58c85b291d83eafe306c79038c1590dbda2326ce4935e844425c6102520d

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.0-cp312-none-win32.whl.

File metadata

  • Download URL: simular_evm-0.2.0-cp312-none-win32.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for simular_evm-0.2.0-cp312-none-win32.whl
Algorithm Hash digest
SHA256 52d2034b74e714b67d447c44e0dc3a66dd6874f8b157dd4c1b38b289c5c75d48
MD5 8781e1d21909362292f71556c3426005
BLAKE2b-256 b05b983891266454da72151b90d0095d6520bcdfa580cfea24840ac4f246352b

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 932bba4a2cbb3ce88821c286060dc2c9a372995f2c42be33060d847b02ff623e
MD5 4bb0d2240b7a258b11155f77a0000ff7
BLAKE2b-256 27bce01f1ec2db139446b090a8332496383fee42532c3d018e5977495639a335

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.0-cp312-cp312-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.0-cp312-cp312-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 6b60608671db2dfd27eefe07f50c5d44de09d54fd41a0c7aa026bcc35eb597a5
MD5 a8736f92425ec78983fe9fae5a4b80be
BLAKE2b-256 1bc13f9302fd0e6d8cc5429582e9d6520a57be03edcf0eb9c86e0f54e57ee5be

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 285ff811d4c5eed866e296eb0bb36f25f7e1eecd04f2df6d82520025780f72a7
MD5 8258dff1f774adc8ed617dc37ecf274e
BLAKE2b-256 db33f1077b5d8bc0f3a364f266bdedd616a3997c090e5b473e7c17ddb39695c9

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a2c6753ee6f42c61e921cea2be637d545ef35eec680728d371df6710712a9a55
MD5 bb97686a02f8effaaf2620dbb73e8a02
BLAKE2b-256 66455874cccdb463d06147fecf6fb4def15fa5fec4ea08af3c8d8fc8806ecd59

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 05d064ecc88e5a6fc0b8181bc14c34b2dafc9b60f5d092698d7a751e72c7007d
MD5 01fcd57db1ff6ddbe063a4bd6300560d
BLAKE2b-256 7996fda125c7076eb21d96da3eb07bf12cac7aefd69d27461b8e254a3fd32a9e

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.0-cp311-none-win_amd64.whl.

File metadata

  • Download URL: simular_evm-0.2.0-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for simular_evm-0.2.0-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 22e9abb017c33f1a0fa32830d544f4c124e5087390d547dafc90cd686d14a467
MD5 517b3914248fa151495e745ead8fc9a8
BLAKE2b-256 a476fb075d360d76d9ba7cc399c4c7f72fe10b7f0f2eb025e308452afdd058bf

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.0-cp311-none-win32.whl.

File metadata

  • Download URL: simular_evm-0.2.0-cp311-none-win32.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for simular_evm-0.2.0-cp311-none-win32.whl
Algorithm Hash digest
SHA256 75735bbe50be5856390dec73c0590c13c36ad748a466bb85276aafa6dcd09cc6
MD5 fdfe2b91daba535bd024c477549984ed
BLAKE2b-256 eaaee9473e29a64e531770094807440e17382a2762331cbd286e2ccc3a65d226

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f5f11a2a5b0408557c4026a326d8ddc9d6e9cc698bcf7e515aa9093702712cf7
MD5 365eb5d74ff37328d6f60f55f3389d31
BLAKE2b-256 39bfe569dee0259063342301521bcac8a4ce45bf9e0cbf6637dd63404d1c700b

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.0-cp311-cp311-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.0-cp311-cp311-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 9e59e7709500223b6e70f89c7ce501d3fc82393790bda8ca6e1c9f68975e7cb0
MD5 ce9f343252064f0a29c0d3ceea5db17b
BLAKE2b-256 7c0a4440eff6074c13cf66d2208f81129c48e7b35b840b3fd01576a16e02e56a

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f78fcd5097d7764ea892f147a23d720b0aa6f1fec0380ba92ef478dae1f5e89c
MD5 65a3cce843e79dee7112e1fa3aac0329
BLAKE2b-256 d3276b962ddb159d09260bb1236f149a371e7b4d527f16f4303a050ba8e69c20

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9df543acb412edd43fef7385ca5e129b1fc7614aa4418e49009dc6b206fa0a8c
MD5 15790280b916526441fa8007bd7f46c7
BLAKE2b-256 641134a292b7f2d32e19ab9fda79400f7f738f0abe16eac5362085fbcf792d2b

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 97c0b601e3bd5f87eb93302395661b99daab0b94c2c176113e63ea83f6e823bb
MD5 5b2c2484fcd92c82f6a58b28fcce8abb
BLAKE2b-256 4b24fee6abfabba89855e3a9d5c6dedf6bc4b74d3930e31637eda2030d3e12f9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page