1
0
Utility library for parsing and processing the Partisia Blockchain ABI Format.
Go to file
2024-07-08 19:06:10 +02:00
.gitea/workflows Repository layout updated to latest Python version 2024-05-29 21:38:58 +02:00
pbcabi Module Docstring 2024-07-08 18:59:21 +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.