Giter Club home page Giter Club logo

plasm's Introduction

plasm_web3

CI

Plasm is a Substrate Runtime Module Library which allows developers to add Plasma functions to their Substrate chain easily and seamlessly. Since Plasm is an SRML, developers can also make both plasma parent chains and plasma child chains with Substrate.

WARNING: This is a proof-of-concept prototype. This implementation is NOT ready for production use.

Whitepaper

Community

Table of Contents

Introduction

Plasm is a Substrate Runtime Module Library which allows developers to add Plasma functions to their Substrate chain. By adding a Plasm Substrate Runtime Module Library, you can get scalable blockchains within a few minutes.

Some people might not know Substrate Runtime Module Library. Basically speaking, Substrate consists of 2 components, Substrate Core and Substrate Runtime Module Library aka SRML. We can customize Substrate Core with SRML and make an original Substrate chain.

Other people might not know Plasma. Plasma is a layer2 scaling solution which makes it possible for scalable computation by structuring economic incentives to operate the blockchain autonomously without the operator’s management. Ideally, it brings infinite scalability into your blockchain.

Based on the above, Plasm has some features.

  • The first Rust implementation of Plasma SRML.
  • Plasm is a simple but versatile SRML and makes it easier for developers to make a Plasma chain with Substrate.
  • Plasm deals with many types of “Plasmas” in the future. Currently, we are providing UTXO models.
  • Substrate chain can be both a plasma parent chain and a plasma child chain.

Since we are making an SRML, we can also make a scalable chain with Substrate. Once Polkadot is launched, we will connect our root chain to Polkadot, and we aim to be one of the parachains. vision

We call this chain Plasm Network. Plasm Network is a scaling DApps Platform based on Substrate. The point is Polkadot Relaychain doesn’t support smart contracts by design. So, people in the Polkadot ecosystem need Parachains that support smart contracts well. From the developer’s perspective, he needs to choose on which Parachain his decentralized application should be built. Scalability must be one of the most important criteria for him to choose which Parachain to use. This is where Plasm Network comes in.

Install Plasm

Latest version you can try to build from source.

Building from source

Ensure you have Rust and the support software installed:

curl https://sh.rustup.rs -sSf | sh
# on Windows download and run rustup-init.exe
# from https://rustup.rs instead

rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly

You will also need to install the following dependencies:

  • Linux: sudo apt install cmake git clang libclang-dev build-essential
  • Mac: brew install cmake git llvm
  • Windows: Download and install the Pre Build Windows binaries of LLVM from http://releases.llvm.org/download.html

Install additional build tools:

cargo install --git https://github.com/alexcrichton/wasm-gc

Install Plasm node from git source:

cargo install --force --git https://github.com/staketechnologies/Plasm --tag v1.0.0 plasm-cli

Run node in Plasm testnet:

plasm-node

Or run in your local development network:

plasm-node --dev

Building with Nix

Install Nix package manager:

curl https://nixos.org/nix/install | sh

Run in Nix shell:

git clone https://github.com/staketechnologies/Plasm && cd Plasm
nix-shell nix/shell.nix --run "cargo run --release"

Plasm Validator Program

Since we launched our Plasm Network testnet, we are looking for around 50 validators all over the world. This is a testnet like Ethereum Rinkeby, Kovan, and Ropsten. So, PLM (Plasm Network native token called PLUM) doesn’t have any values. Therefore, there is no incentive to be a validator on the testnet. To solve this problem, We will provide you with a right to be the first validator during the PoA term (between Lockdrop1 and Lockdrop2 described below) on the mainnet if you are a validator on the Plasm testnet.

Screen Shot 2019-11-16 at 22 24 37

  1. Run a node on Plasm testnet:

    plasm-node --validator

  2. Apply the validator program:

Examples

You can see our demo:

  • Version1: 2019/04/25 CLI Demo
  • Version2: 2019/05/22 UI Demo No explanations yet.

Future Works

Milestones

Contacts

Maintainers


Plasm is licensed under the GPLv3.0 by Stake Technologies Inc.

plasm's People

Contributors

akru avatar satellitex avatar sotawatanabe avatar t8m8 avatar taskooh avatar

Watchers

 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.