Python SCALE Codec Library for Polymesh
Project description
Python SCALE Codec
Python SCALE Codec Library
Description
Most of the data that the Substrate RPCs output is encoded with the SCALE Codec. This codec is used by the Substrate nodes' internal runtime. In order to get to meaningful data this data will need to be decoded. The Python SCALE Codec Library will specialize in this task.
Documentation
https://polkascan.github.io/py-scale-codec/
Installation
pip install scalecodec
Examples
Decode a SCALE-encoded Compact<Balance>
RuntimeConfiguration().update_type_registry(load_type_registry_preset("default"))
RuntimeConfiguration().update_type_registry(load_type_registry_preset("kusama"))
obj = ScaleDecoder.get_decoder_class('Compact<Balance>', ScaleBytes("0x130080cd103d71bc22"))
obj.decode()
print(obj.value)
Add custom types to type registry
RuntimeConfiguration().update_type_registry(load_type_registry_preset("default"))
custom_types = {
"types": {
"MyCustomType": "u32",
"CustomNextAuthority": {
"type": "struct",
"type_mapping": [
["AuthorityId", "AuthorityId"],
["weight", "AuthorityWeight"]
]
}
}
}
RuntimeConfiguration().update_type_registry(custom_types)
Or from a custom JSON file
RuntimeConfiguration().update_type_registry(load_type_registry_preset("default"))
RuntimeConfiguration().update_type_registry(load_type_registry_file("/path/to/type_registry.json"))
License
https://github.com/polkascan/py-scale-codec/blob/master/LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
polymath-scalecodec-0.3.15.tar.gz
(213.6 kB
view hashes)
Close
Hashes for polymath-scalecodec-0.3.15.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84ee86db95911294834ecc806d4ccff2a4efc42f985e4a961cbb6a8e04d269f7 |
|
MD5 | adfd272b0958c0f816cbc99f0c380492 |
|
BLAKE2b-256 | ba4fcfcdc5d993ad890c15484ab366506f018049c2af2f5516dc055bbe608ae7 |