Skip to main content

smart-contract api and embedded ethereum virtual machine

Project description

Simular

pypi

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 and Python, and optionally Make. We use hatch for Python project management, but it's not required
  • Create a local Python virtual environment. Within that environment install Python dependencies
  • Run make build or hatch 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.6.tar.gz (58.6 kB view details)

Uploaded Source

Built Distributions

simular_evm-0.2.6-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl (5.3 MB view details)

Uploaded PyPy manylinux: glibc 2.28+ x86-64

simular_evm-0.2.6-pp310-pypy310_pp73-manylinux_2_28_armv7l.whl (4.8 MB view details)

Uploaded PyPy manylinux: glibc 2.28+ ARMv7l

simular_evm-0.2.6-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl (5.6 MB view details)

Uploaded PyPy manylinux: glibc 2.28+ ARM64

simular_evm-0.2.6-cp312-none-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.12 Windows x86

simular_evm-0.2.6-cp312-cp312-manylinux_2_28_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

simular_evm-0.2.6-cp312-cp312-manylinux_2_28_armv7l.whl (4.8 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ ARMv7l

simular_evm-0.2.6-cp312-cp312-manylinux_2_28_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ ARM64

simular_evm-0.2.6-cp312-cp312-macosx_11_0_arm64.whl (2.9 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

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

Uploaded CPython 3.12 macOS 10.12+ x86-64

simular_evm-0.2.6-cp311-none-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 Windows x86

simular_evm-0.2.6-cp311-cp311-manylinux_2_28_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

simular_evm-0.2.6-cp311-cp311-manylinux_2_28_armv7l.whl (4.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ ARMv7l

simular_evm-0.2.6-cp311-cp311-manylinux_2_28_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ ARM64

simular_evm-0.2.6-cp311-cp311-macosx_11_0_arm64.whl (2.9 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

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

Uploaded CPython 3.11 macOS 10.12+ x86-64

simular_evm-0.2.6-cp310-none-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10 Windows x86-64

simular_evm-0.2.6-cp310-none-win32.whl (2.5 MB view details)

Uploaded CPython 3.10 Windows x86

simular_evm-0.2.6-cp310-cp310-manylinux_2_28_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

simular_evm-0.2.6-cp310-cp310-manylinux_2_28_armv7l.whl (4.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ ARMv7l

simular_evm-0.2.6-cp310-cp310-manylinux_2_28_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ ARM64

simular_evm-0.2.6-cp310-cp310-macosx_11_0_arm64.whl (2.9 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

simular_evm-0.2.6-cp310-cp310-macosx_10_12_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.10 macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for simular_evm-0.2.6.tar.gz
Algorithm Hash digest
SHA256 78227440780c962a12e6a442eeae5723887bb110013d4eb414340b80fb5ce1b2
MD5 49e8c7628a12fe96cc19c9f24d2e90c6
BLAKE2b-256 e7230f4830ca27c1913049e1dc4a7a8d3e61af2c84b4caa6f8eb89993cf08d81

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.6-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.6-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 496c083d12329d43bddcb2f374acd8eb9046af84d982a099e37b0da3198887e5
MD5 f31e7882afa4ea14ea614fd6966a8c89
BLAKE2b-256 a7ba922be1dcc866f0910100c13bf5dd058e7c752ee2b87540cdbd2c2926ffd5

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.6-pp310-pypy310_pp73-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.6-pp310-pypy310_pp73-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 42b9afae3969415e32bc92746d4e8c4da97ecc9ebb9f2633be506cf361cf9ddd
MD5 1bcecf96ddc11e28aa7036fe2ae028cc
BLAKE2b-256 bda1ef1084e618ce1495bddc43f2969eeec86895b61a83c9f31756c3ca40e26f

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.6-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.6-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3f406698410162f37a48172d84de21d926aefb0e72cda3797ca8c40f0cff0d4b
MD5 b5a35ac1076e5d0f0bf0c7180c8ff1c2
BLAKE2b-256 6aa35544b80e22124740eafebec9c9d322b175b4ff0ecc30cf1b1103fcf1e91b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 95d061cf705b42d630c69fa3f82f95da6bec857be9076c295d96a17549d9f3e8
MD5 6751b25c809a5ec7ddfd8aca325e7796
BLAKE2b-256 00c1c9e5e8216ca498a2c95cdf9706e975937ec33eec1a30edd96668116a76cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: simular_evm-0.2.6-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.4

File hashes

Hashes for simular_evm-0.2.6-cp312-none-win32.whl
Algorithm Hash digest
SHA256 6fa388eb045d026b1543ec7584509a286bfa8d725d6afebf7754ed176038522f
MD5 ccf8affffdbfc0eff95d07dc2d30bb47
BLAKE2b-256 a68f4d07013f17b1da5bcbf52ae740b51ea182c8159066ecefe1d29a627b3d05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3c87b176c78ed939c02bba5145c944165604ab3a39a7450ba5a52d6e9ad6889f
MD5 592bda60f7e384d1537d1aac14ea6610
BLAKE2b-256 a9a5942de677abf53ba78f5513bd3a234cf5a3f20770f22f6c66935c3ace9253

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp312-cp312-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 43314bf28dfb6b097cec2a8304e8282523aab388fd8c5aaf53f3dfb754c016cf
MD5 0d3469e62b027def6425244153590913
BLAKE2b-256 83bc95c69b8727c76bff5c53278f0f34a51692eba2ab484c9600daee1a149e63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c10a699ae7f6eee63130199099b6929acb1bfa3705cd9c0c47539d58eba8c694
MD5 8627326392f7da0d77fccf8bc4606edd
BLAKE2b-256 8395c7608433d81f9f71842aaca4b0a3f820f926972477469673b0217e51a48d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba5c000df4794943f6d35378d73eda365732a95a1fafa1232f0941bdd7dcb433
MD5 2d5d65f58279c8b31d2acf842a054c62
BLAKE2b-256 91efd07df0696da87a8a8a7ac76e3ede69229ce6067911ea7a04b4b0a2c73053

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9a3fb1f099e470f4f26980901d18d09c776ece1d73a61948f95d8fbb088f5307
MD5 81be624844682ae1b4a1d543a850a518
BLAKE2b-256 0cfa623a3d58fdb077ea21ab5c0b8bc249ddc96269d2b9b05d602049338808b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 4551a9478de7eed60d09731c84a1908ed1bbcaa486a062118f90d907ff25a657
MD5 367a43956e5c8cdbe8d0d0b7e452d6d1
BLAKE2b-256 552207165dfdd2a607db893651aca73caac142e609339cae5d99c2d52ffabd37

See more details on using hashes here.

File details

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

File metadata

  • Download URL: simular_evm-0.2.6-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.4

File hashes

Hashes for simular_evm-0.2.6-cp311-none-win32.whl
Algorithm Hash digest
SHA256 1242bfddc779609386dd3e259f9f75d21b4e82d4bb6af0b409577914a7d01a9e
MD5 21d8a8bb8652b34a3c4573968e41d00b
BLAKE2b-256 314d8db21dfc6a7933c632730be5e2bcc381013c681198c0f67b14b25b5958ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c71570016b24cd41fe290ad39ef33ae9b67f42f274352f80c2ed3925cbc34ad1
MD5 8f48b0807ca15651edffb577101680c0
BLAKE2b-256 57b3cf93af3c5f3c4cba536299d40b4ec3c72a38c47d01d020a52d16788105b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp311-cp311-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 64bcd417899fd56cede9b08d35bea884a2ae95acc877723bd0f78a833808ad08
MD5 1411031fbc24e61133b5c16dee468c10
BLAKE2b-256 03229821e7dac8eda127bac8d3dd0d22a73e7abc884abe410c455a4a7f35aa28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d06e6669f1bb4b2d08329a318c0c9c38d8b7b58c94f78853c94287145f00caed
MD5 0c48c23b31132105d5b82f3a8c5b792c
BLAKE2b-256 30c3f32583d41bae788908a2602bf37edb6c8f7d6b00850e97b119626b3b6eec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 afbae82c65d020bcc557c2c60db7e5175d861b3dba783410ccdc460d15fbef09
MD5 495d1702069314c325636caa8ff39f22
BLAKE2b-256 0c9bcea8643865bddd313e26792180e398305c0db85e6aba15dcfe926e57cc5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 59e37077ed94793f082737d6f2154153beb58cbdac761b74aae9f205f13a28c1
MD5 2fcd2db5fb8ce0979e16dcb9021c9a8f
BLAKE2b-256 e9c1b9ed6ee2e780d24bd13f438a4c057cb26b3e7f6e01fbed8f74223c3b831e

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.6-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 c1fc6c0773aa6132f070e373ab45a6db10ae58deb362e400d8d8d7fcdd858058
MD5 57acaf1e14ca746ba8992b901760496d
BLAKE2b-256 ea9c502c81ceb69537f28fff5731f582a8333f8dd8d4e26e7f903826af04d0b8

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.6-cp310-none-win32.whl.

File metadata

  • Download URL: simular_evm-0.2.6-cp310-none-win32.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.4

File hashes

Hashes for simular_evm-0.2.6-cp310-none-win32.whl
Algorithm Hash digest
SHA256 7ebff3c3586a921de26250d28ebec1737b89c58afae22c38de47190ed4d11745
MD5 7292bdee440e03f62e6b94d17674b1af
BLAKE2b-256 83dd7ee9cc0ead8c23da0a27bec0f4a27bb874ea83c6e7d6262a24f30d2a26a5

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.6-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 75b2659577356d345fc2e5bbe2a318073dc34d8ea98e1dd07e4d137b9062d4bf
MD5 eefeb8b86197ed34947736ba3e6d7fc8
BLAKE2b-256 f02878875fbecf28e358f812042d70cdabe9b4b5bb140d62bcf3f27fae215a22

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.6-cp310-cp310-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp310-cp310-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 eb50933d470219caff6c39da671a261ded3be1a639db7d8d3374aecf9a282407
MD5 e3bab1abf98d05776fd632a363a0f23d
BLAKE2b-256 6febce34bb9cb7eab797900250fc488b0bb3ebb859210dc95c511e72c3c008b0

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.6-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5ca12647ad5990211ef674bbe5363559c14bff1e971fae88c98fcbdfdefc879c
MD5 b68d6c11c0b412db4e6d9894c53f889a
BLAKE2b-256 c18f80bbe9584796f9615e936dccf23fa5ece66118610f9b44805b764ea60b70

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.6-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91c48b1ac537476ce28f5b4b65667c11c421c611c98d50ed3882c9147f1e7018
MD5 a364d0f6ffc34ebb4fb2588a2c9d2dfc
BLAKE2b-256 4b90b1c831d919cbb9f44d5b9b5ffdec392ae4241ca55ca5717b0172f7fd9df1

See more details on using hashes here.

File details

Details for the file simular_evm-0.2.6-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simular_evm-0.2.6-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a86a583127d6657fcf428b4d0b839d25027866abfe1956b6fd974031f5d16076
MD5 5bd9c63daee8bf673b61b58c7c318654
BLAKE2b-256 544c84a76de43ea72680222bffd4d80c78bc52c2bd379b628c880b7631fa5c80

See more details on using hashes here.

Supported by

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