Skip to content
Ethereum plasma implementation
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
contracts
db
devdb
migrations
scripts
src
test
testrpc-db
.babelrc
.eslintrc.js
.gitattributes
.gitignore
.solhint.json
.travis.yml
LICENSE
README.md
package-lock.json
package.json
truffle-config.js
truffle.js

README.md

Plasma MVP

Build Status

Install dependencies with

$ npm install

Run test cases:

# start test rpc server (which starts server on localhost:8545)
$ npm run testrpc

# run test cases
$ npm run test

Development

# start test rpc server or you can start `geth`/`parity` node
$ npm run testrpc

# deploy contracts
$ npm run deploy

# start authority's server
$ npm run authorized-dev

# start dev server
$ npm run dev

Production

# build server
$ npm run build

# start server
$ npm start

CLI

$ npm run testrpc # or use actual ethereum node (check configurations)
$ npm run authorized-node # or simple dev node => npm run dev


# start cli (`-p` option provides a way to accept sender's private key)
$ ./src/cli/index.js -p '9b28f36fbd67381120752d6172ecdcf10e06ab2d9a1367aac00cdcd6ac7855d3'
plasma > .help

Configurations

You can override default configurations by creating config.env file in root directory and adding following variables:

Variable Description Default
APP_NAME Name shown on UI Plasma chain
APP_PORT Server port 8080
CHAIN_DB Level db location ./db
CHAIN_BLOCK_PERIOD Plasma chain block period. After every block period, new plasma block will be created, if necessary. 6
CHAIN_WEB3_PROVIDER Web3 http provider URL http://localhost:8545
CHAIN_ROOT_CONTRACT Contract address for root contract 0xb4ee...a6a
CHAIN_AUTHORITY_ADDRESS Authority address for PoA 0x9fB2...791
CHAIN_AUTHORITY_PRIVATE_KEY Authority's private key for PoA 0x9b28...5d3
NETWORK_EXTERNAL_HOST Network's external host (for sync) 0.0.0.0
NETWORK_PORT Network's port (for sync) 8081
NETWORK_PEERS Pre-defined peers (for sync)
You can’t perform that action at this time.