1
0
Utility library for parsing and processing the Partisia Blockchain ABI Format.
Go to file
takunomi-build-bot a39ba0a13c
Some checks failed
Package Python / Package (push) Failing after 22s
Test Python / Test (push) Failing after 21s
🤖 Bumped version to 0.1.12
This commit was automatically generated by a script: https://gitfub.space/Jmaa/python-omni
2024-07-08 19:07:03 +02:00
.gitea/workflows Repository layout updated to latest Python version 2024-05-29 21:38:58 +02:00
pbcabi 🤖 Bumped version to 0.1.12 2024-07-08 19:07:03 +02:00
test Fixed parsing of AvlTree 2024-05-03 10:18:54 +02:00
.gitignore 🤖 Repository layout updated to latest Python version 2024-06-13 22:01:55 +02:00
LICENCE Initial commit with README and LICENCE 2023-06-20 11:15:05 +02:00
README.md 🤖 Repository layout updated to latest version 2024-07-08 19:06:10 +02:00
requirements_test.txt Bumped pipelines 2024-05-27 21:55:47 +02:00
requirements.txt Bumped pipelines 2024-05-27 21:55:47 +02:00
ruff.toml 🤖 Repository layout updated to latest Python version 2024-06-16 02:17:48 +02:00
setup.py 🤖 Repository layout updated to latest Python version 2024-06-03 22:37:41 +02:00

# Partisia Blockchain ABI client. Utility library for parsing and processing the Partisia Blockchain ABI Format. The format is specified here: [Partisia Blockchain's ABI format](https://partisiablockchain.gitlab.io/documentation/smart-contracts/smart-contract-binary-formats.html).. ## Example usage This example is based upon the [Token Contract example contract](https://gitlab.com/partisiablockchain/language/example-contracts). It assumes a compiled ABI in `token.abi` and a blockchain state stored in `token_state.bin`. ```py # Imports from pbcabi.binaryreader import BinaryReader import pbcabi.model # Read ABI with open('token.abi', 'rb') as f: TOKEN_ABI = pbcabi.model.FileAbi.read_from(BinaryReader(f.read())) with open('token_state.bin', 'rb') as f: state_bytes = f.read() # Read structure TokenState from state_bytes token_state = TOKEN_ABI.contract.read_state('TokenState', BinaryReader(state_bytes)) # Inspect state as mostly Python-native types. my_address = BlockchainAddress.from_hex_hash("00e72e44eab933faaf1fd4ce94bb57e08bff98a1ed") print(token_state['name']) > MyToken print(token_state['balances'][my_address]) > 213112 ``` ## Legalese This project is licensed under MIT Licence, see `LICENSE` for full text. This project is not associated with, nor supported by any of: - Partisia Applications A/S - Partisia Infrastructure A/S - Partisia Blockchain Foundation Use at own risk.