GithubHelp home page GithubHelp logo

isabella232 / client-8 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from polkadot-js/client

0.0 0.0 0.0 32.57 MB

An alternative Polkadot Runtime Environment implementation acting as a full-node (excluding block production for validators) for syncing with Substrate-based chains.

License: Apache License 2.0

Shell 1.77% JavaScript 19.02% TypeScript 75.79% HTML 0.16% Dockerfile 0.25% WebAssembly 3.01%

client-8's Introduction

polkadotjs license npm beta maintainability coverage

@polkadot/client

A JavaScript version of a Polkadot/Substrate network client. It allows operation in full and light nodes fullfilling all functions of chain operation, however does not include the ability to author blocks (i.e. run as a validator on the network).

Current status

This is the current status of the client -

  • It can sync and operate on Polkadot POC-3 networks, and has been tested against Alexander (Polkadot), Dried Danta (Substrate) as well as Edgeware networks.
  • It currently does not include much (if any) of the RPC interfaces - so it is not (currently) able to support eg. the apps UI connecting to it
  • It does not (currently) do any state and trie pruning, so the resulting backing database growth is not controlled
  • As of 0.19.1 the backing database has been swapped to LmDB, this interface is much faster than the previous implementation, however uses more disk space (follow-up from the previous point). Investigations are still ongoing as to the best fit for the backend DB engine.

Development overview

It is split up into a number of internal packages -

Local development node

Start the node with yarn run start <options>, e.g. yarn run start --chain dried-danta. You can use --help to get a list of the available options.

Running via docker

A docker image is built from the supplied Dockerfile, which includes the latest version as supported and deployed to the registry. To run via docker, the following commands can be used. (Split into lines for readability) -

docker run -d \
  --name dd \
  -p 60666:60666 \
  -v ~/db:/data \
  jacogr/polkadot-js-client:latest \
    --chain alexander \
    --db-path /data \
    --db-type file \
    --telemetry-name "some-cool-name-here"

Some additional expansion to the above -

  • docker -d runs the container as a daemon (skip as required)
  • docker --name specifies the name of the container in docker container ls
  • docker -p maps the p2p port externally (ensure the firewall is open on this)
  • docker -v uses the local host path ~/db as the data path, mapping it to the container itself.
  • For --chain either alexander or dried-danta are built-in options.
  • --db-type can be either file (default, experimental) or lmdb (experimental, more memory intensive).
  • Images are deployed to dockerhub, and we try to keep them current.

You can build your own container via the ./docker.sh script included which will use the latest available repo version to base an image on.

Contributing

  • Bootstrap the dependencies, yarn
  • Make any changes in the relevant package, on master merges new versions will be published automatically

client-8's People

Contributors

jacogr avatar gguoss avatar ltfschoen 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.