Giter Site home page Giter Site logo

polkadart's Introduction

Star on Github Test Coverage License: Apache 2.0 FOSSA Status

PolkaDart

This library provides a clean wrapper around all the methods exposed by a Polkadot/Substrate network client and defines all the types exposed by a node, this API provides developers the ability to query a node and interact with the Polkadot or Substrate chains using Dart.

All code is made available with a permissive Apache-2.0 license.

polkadart-scale-codec

A Dart implementation of SCALE, Substrate uses a lightweight and efficient encoding and decoding program to optimize how data is sent and received over the network. The program used to serialize and deserialize data is called the SCALE codec, with SCALE being an acronym for simple concatenated aggregate little-endian.

ss58

A Dart implementation of SS58. The SS58 is the default Substrate address format, this encoded address format is based on the Bitcoin Base-58-check format, but with a few modifications specifically designed to suit Substrate-based chains. You can use other address formats for Substrate-based chains. However, the SS58 address format provides a base-58 encoded value that can identify a specific account on any Substrate chain. Because different chains can have different ways of identifying accounts, the SS58 address is designed to be extensible.

Basic format

base58encode ( concat ( <address-type>, <address>, <checksum> ) )

substrate-metadata

One of the most important things to understand about polkadart is that most interfaces are generated automatically when it connects to a running node. This is quite a departure from other APIs in projects where the interfaces are static. While sounding quite scary, it is a powerful concept that exists in both Polkadot and Substrate chains and allows the API to be used in environments where the chain is customized.

Requirements

You need to have git-lfs installed to run the tests. Download from Github

On Mac OS X:

brew install git-lfs

On Ubuntu:

sudo apt-get install git-lfs

Fetching files

To ensure the git-lfs files are fetched inside the cloned git repository. Run these commands from the root of polkadart repo.

git lfs fetch
git lfs checkout

Documentation and Tests

You can run all tests from the library by running docker compose up.

Package Path
polkadart_scale_codec packages/polkadart_scale_codec/
ss58 packages/ss58/
ss58_codec packages/ss58_codec/
substrate_metadata packages/substrate_metadata/

Road map and current state

โœ… = Supported and mostly stable
๐ŸŸก = Partially implemented and under active development.
๐Ÿ”ด = Not supported yet but on-deck to be implemented soon.

Status
Scale Codec Encoder โœ…
Scale Codec Decoder โœ…
SS58 Format โœ…
Parse Metadata v14 โœ…
Coverage and Tests โœ…
Substrate Metadata ๐ŸŸก
RPC ๐Ÿ”ด
Websockets ๐Ÿ”ด
Crypto ๐Ÿ”ด

Substrate Metadata

Status
Parse Metadata v14 โœ…
Parse Metadata pre-v14 โœ…
JSON-RPC ๐Ÿ”ด
Constants ๐Ÿ”ด
Read Storage ๐Ÿ”ด
Extrinsics ๐Ÿ”ด
Events ๐Ÿ”ด
Errors ๐Ÿ”ด
SmartContracts ๐Ÿ”ด

polkadart's People

Contributors

dependabot[bot] avatar gabrielokura avatar justkawal avatar leonardocustodio avatar lohann avatar pastre avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.