Utility library for parsing and processing the Partisia Blockchain ABI Format.
.gitea/workflows | ||
pbcabi | ||
test | ||
.gitignore | ||
LICENCE | ||
README.md | ||
setup.py |
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.