Python TVM emulator
Project description
pytvm
:warning: WARNING: The pytvm library is currently in active development. Features and functionality may change frequently. Please keep this in mind when using this library.
pytvm - is a Python bindings to C++ TON Virtual Machine (TVM) emulator. pytvm allows you:
- Run Get-Methods locally (for trustless and fast data retrieval)
- Emulate messages (
Internal
andExternal
) - Emulate transactions
- Emulate transactions traces
Usage
Find examples in the examples folder.
Installation
From PyPi
pip install pytvm
From source
Currently, pytvm compatible with Python3.9 - Python3.11 on platforms:
- Linux (x86_64)
- Windows (x86_64)
- MacOS (x86_64, arm64)
If your system is not compatible with the pre-built wheels, you can install pytvm from source:
-
Compile
emulator
target TON Blockchain repo or downloadlibemulator
binaries from latest release. -
Install pytvm from source:
pip install pytvm
-
Create engine providing path to
libemulator
binaries toEmulatorEngineC
:
from pytvm.engine import EmulatorEngineC
from pytvm.transaction_emulator import TransactionEmulator
engine = EmulatorEngineC('path/to/libemulator.so')
emulator = TransactionEmulator(engine=engine)
Donation
TON wallet: EQBvW8Z5huBkMJYdnfAEM5JqTNkuWX3diqYENkWsIL0XggGG
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for pytvm-0.0.13-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bebf39432b603a4f40623314c48e6fbd053fe5a600f70a45884b1d716831de3 |
|
MD5 | 0d308bc150af75f617557c3a1ff96bc1 |
|
BLAKE2b-256 | e6ecdaf8662cf653517cd202230fad6507fd1d51b59529806c04b9707251b4ad |
Hashes for pytvm-0.0.13-cp311-cp311-manylinux_2_27_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c55fd45603baf16feeee292c11da328ae08d1255b089fa5b2e9a8958f57ff26 |
|
MD5 | 331b9531142ea80b92a5003a09928ee9 |
|
BLAKE2b-256 | d09fbd210ecf466b6e5fc4e9b8b0f45e6d07866fd6ee8a68c3dfaf12b681a2f8 |
Hashes for pytvm-0.0.13-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 593f8c3fd17749609c38775d5f32c997a3d9b664207cc7981774aa305b1b5955 |
|
MD5 | 342d4b84c813c4da9dd92c41d7aeede0 |
|
BLAKE2b-256 | 616a6f9238beca7733f4cf4703ca04376df59dc17ff89c75a216afd09723cb6c |
Hashes for pytvm-0.0.13-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1af4438cd8aa9ff4379c842eae232084c80002aca78a7a806e6e1dfca20f861 |
|
MD5 | 94e13bcbe2b92f8841aa2231d1020a3e |
|
BLAKE2b-256 | 6867a7319d18818e6ad89871bf845f142a5516d6bfe49ea684d4cad8d28d3c28 |
Hashes for pytvm-0.0.13-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d7a6ec18763ea4e4592968b8eea20f873976d023a2ad508ffb0f50f7cd6ecf1 |
|
MD5 | 1438cbcf73fb16d83adf22fdf417096c |
|
BLAKE2b-256 | 7b93f9f5a8f20e28fc0c3d7a54c56d797aac4bbff77d7aad1b6c114190f4a6c3 |
Hashes for pytvm-0.0.13-cp310-cp310-manylinux_2_27_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfd668b455d72a82be552333ba21035cb6ad62a6e2b9de0cf33e6917e1071739 |
|
MD5 | ef57f2d85f2862a62999ad2bdc7e33b1 |
|
BLAKE2b-256 | 40763a66feb760c679e87d177d6073accc387aa81d8bd22e438a0d0ad601e0c1 |
Hashes for pytvm-0.0.13-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed4c88448359e580c5375f2cf9869bbc127f1d56285e3826f047344c93babcf7 |
|
MD5 | b9c64e7b646a625b4865b0c61fa3ad2f |
|
BLAKE2b-256 | 1fe7d9390c7c92d1545fee08bed0ad1bd30d6f02cfc7a6325bf7a646e6229bb6 |
Hashes for pytvm-0.0.13-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06728b30f18e1397bb27b63a55367b4826028d605094f118e93f7c3add7fbf2e |
|
MD5 | 4674ee659e763dc9c67ec6498059a7ee |
|
BLAKE2b-256 | 1dcc130d5a9088ef9ce3957d7e546ad613b22bd5be84a16dbd208f35daa2e118 |
Hashes for pytvm-0.0.13-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbbf6a840bc131cc1d5ab0e079f93d9e759f067b7ba40b5b773e5e1df69b9410 |
|
MD5 | 5e85dc69ceaa6cc2ea8c783ca38e9562 |
|
BLAKE2b-256 | cd5bf26ee9d4e33d899176b37357ec485bc005de18323ffb1f929a3950bce756 |
Hashes for pytvm-0.0.13-cp39-cp39-manylinux_2_27_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8821f70f2537652a971d3154c580778e83f76f2c6bf8d040da3d41d772babf66 |
|
MD5 | dfebf8e0faab8336e0650fa448cac2d0 |
|
BLAKE2b-256 | 7f9c4a9b8915073068b6932a3af7ea1d1d7d216bb1d4c0033a878bc24d04eacf |
Hashes for pytvm-0.0.13-cp39-cp39-macosx_14_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3687587271d99547fb2061c60f8f0bbec02d5280f9a09838fd608a2e677638d |
|
MD5 | 82ba6238d9b26f1457287e26bca5c276 |
|
BLAKE2b-256 | 3ad861aa390754825cedabefab436b8ebd12b306dc135c9dd05d0f1c0db91e6d |
Hashes for pytvm-0.0.13-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9ab78496dd57bf398d216dbe97e5811e9cb95beff5b801a22b0a80dab9bf970 |
|
MD5 | 92e46886df762b107dee3842a7c43194 |
|
BLAKE2b-256 | 2761f3be75bfb70bb5541aa0308dfd5b5556bd27bb2b6652b14f07ebfe2e9f56 |