1
0
pbcabi/README.md
2024-07-08 19:06:10 +02:00

1.6 KiB

# 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.