Code Monkey home page Code Monkey logo

plasma-mvp-sidechain's Introduction

Plasma MVP Sidechain

Go Report Build Status codecov Discord license

NOTE: develop is the main branch

Implementation of Minimum Viable Plasma compatible with our rootchain contract

What is Plasma?

Plasma has two major components: verification and computation. Verification is handled by the rootchain contract, which resolves any disputes and distributes funds accordingly. Computation is handled separately by a sidechain, which maintains its security through reporting proofs via merkle roots to the rootchain contract.

Plasma MVP utilizes a UTXO model, which allows for secure and compact proofs. Learn more about plasma on learnplasma.org!

We are using Tendermint for our consensus protocol. This sidechain currently supports a single validator, but will be updated in the future to support multiple validators.

Quick Start

Install using a script

This script can be used on a fresh server that has no dependencies installed.

curl https://raw.githubusercontent.com/FourthState/plasma-mvp-sidechain/develop/scripts/plasma_install.sh > install.sh
chmod +x install.sh
./install.sh

Manual Install

Requirements:

Pull the latest version of the develop branch. Run dep ensure -vendor-only

Plasma Node:

cd server/plasmad/
go install

Run plasmad init to start an instance of a plasma node. Use the --home <dirpath> to specify a location where you want your plasma node to exist.

Navigate to <dirpath>/config/ (default is $HOME/.plasmad/config), set configuration parameters in config.toml and plasma.toml. Run plasmad start to begin running the plasma node.

Plasma Client:

cd client/plasmacli/ 
go install

Navigate to $HOME/.plasmacli, set ethereum client configuration parameters in plasma.toml. Use plasmacli to run any of the commands for this light client

Plasma Architecture

See our research repository for architectural explanations of our Plasma implementation.

Documentation

See our documentation

Contributing

See our contributing guidelines. Join our Discord Server.

plasma-mvp-sidechain's People

Contributors

adityasripal avatar colin-axner avatar martyall avatar kejace avatar hamdiallam avatar iostat avatar legengliu avatar safareli avatar paulrberg avatar sectore 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.