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

Uploaded Source

Built Distribution

polymath_scalecodec-0.3.17b1-py3-none-any.whl (52.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: polymath-scalecodec-0.3.17b1.tar.gz
  • Upload date:
  • Size: 213.5 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.17b1.tar.gz
Algorithm Hash digest
SHA256 76e667204d532f45e661e176be91bbad6d9f57b92c249d6de7524b5dcbec55f5
MD5 02bbe22740784d8b4735bd3d4e7a0aad
BLAKE2b-256 66712c33cc9704e22e6eac74fcfa9b0a9ecb885052791c922c278a23ed801f2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: polymath_scalecodec-0.3.17b1-py3-none-any.whl
  • Upload date:
  • Size: 52.6 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.17b1-py3-none-any.whl
Algorithm Hash digest
SHA256 1c004d2c5307c87eaf035de948763b5829094d1cf3a50c4cd9d7d76d3cab04ee
MD5 630436d65289c27da26218fd6825b6b3
BLAKE2b-256 49841b32fc36044c2632d675375eb5bb1f76f6da56e4baec41818f918e6adafb

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