Python SCALE Codec Library for Polymesh
Project description
This project is forked from https://github.com/polkascan/py-scale-codec
Python Polymath SCALE Codec
Python Polymath 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 polymath-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)
Encode to Compact<Balance>
RuntimeConfiguration().update_type_registry(load_type_registry_preset("default"))
obj = ScaleDecoder.get_decoder_class('Compact<Balance>')
scale_data = obj.encode(2503000000000000000)
print(scale_data)
Encode to Vec<Bytes>
RuntimeConfiguration().update_type_registry(load_type_registry_preset("default"))
value = ['test', 'vec']
obj = ScaleDecoder.get_decoder_class('Vec<Bytes>')
scale_data = obj.encode(value)
print(scale_data)
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/PolymathNetwork/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.4.2.tar.gz
(86.9 kB
view hashes)
Built Distribution
Close
Hashes for polymath-scalecodec-0.4.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 981e878485f087cdacd59b15d7458d5b2041dfe4f7b2fbb6eae537a4bd2a0487 |
|
MD5 | fa344b3ad010417de2f587769fbb6bac |
|
BLAKE2b-256 | 331829255377e06c90171fbac86de02e730a65049a6404a097725a86c7f2d0af |
Close
Hashes for polymath_scalecodec-0.4.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d215aa5e1d1aa416c1139f6e336896ac8b969f42b2f9a451aa8dee4b1626b17d |
|
MD5 | c1d5060faef0f41282415431d54b5a3e |
|
BLAKE2b-256 | 9546d7e62a1b6f8fba5cca598ddc6f689e9e1179603b5afbeefab594fdc73fad |