Skip to main content

Python SCALE Codec Library for Polymesh

Project description

This project is forked from https://github.com/polkascan/py-scale-codec

Python Polymath SCALE Codec

Latest Version Supported Python versions

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)

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


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.20b1.tar.gz (213.7 kB view details)

Uploaded Source

Built Distribution

polymath_scalecodec-0.3.20b1-py3-none-any.whl (52.8 kB view details)

Uploaded Python 3

File details

Details for the file polymath-scalecodec-0.3.20b1.tar.gz.

File metadata

  • Download URL: polymath-scalecodec-0.3.20b1.tar.gz
  • Upload date:
  • Size: 213.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for polymath-scalecodec-0.3.20b1.tar.gz
Algorithm Hash digest
SHA256 dab89796abc02b1059c52755a518d6a42767818939bfc91c53c75d51009ae55c
MD5 da2a311268cc2cf842767704ff71e088
BLAKE2b-256 e9c56e22cf803e4bb1866d737ea6ff812d08a1d6b04612ce9f3490a5c7822d18

See more details on using hashes here.

File details

Details for the file polymath_scalecodec-0.3.20b1-py3-none-any.whl.

File metadata

  • Download URL: polymath_scalecodec-0.3.20b1-py3-none-any.whl
  • Upload date:
  • Size: 52.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for polymath_scalecodec-0.3.20b1-py3-none-any.whl
Algorithm Hash digest
SHA256 d56d0815327fa5eefc5b6951071615c9e90cc39db2c0759ac885ae94a32748ab
MD5 46060ebd1a5983feea74195cae166e01
BLAKE2b-256 967c37072c10eae546e0a78530743655c01d7c9c54e545d791cc72b6f1bee453

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page