1
0
Utility library for parsing and processing the Partisia Blockchain ABI Format.
Go to file
Jon Michael Aanes 963df68f02
All checks were successful
Python Package / Test (push) Successful in 22s
Python Package / Package (push) Successful in 21s
Bumped version
2024-05-05 00:12:30 +02:00
.gitea/workflows Updated workflows to v6.21 2024-05-05 00:02:50 +02:00
pbcabi Bumped version 2024-05-05 00:12:30 +02:00
test Fixed parsing of AvlTree 2024-05-03 10:18:54 +02:00
.gitignore Bumped version 2024-05-05 00:12:30 +02:00
LICENCE Initial commit with README and LICENCE 2023-06-20 11:15:05 +02:00
README.md Standardized setup.py 2024-04-08 13:48:46 +02:00
setup.py Updated workflows to v6.21 2024-05-05 00:02:50 +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..

Example usage

This example is based upon the Token Contract example contract. It assumes a compiled ABI in token.abi and a blockchain state stored in token_state.bin.

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