leap-node
v6.0.1
Published
[![codecov](https://codecov.io/gh/leapdao/leap-node/branch/master/graph/badge.svg)](https://codecov.io/gh/leapdao/leap-node) [![Docker Repository on Quay](https://quay.io/repository/leapdao/leap-node/status "Docker Repository on Quay")](https://quay.io/re
Downloads
128
Readme
Full node for Leap Network
Leap Network is an implementation of Plasma framework based on More Viable Plasma and Plasma Leap extensions.
Table Of Contents
What it is
For dApp developers
If you create a dapp using Leap Network you can either use an existing public node or start your own leap-node instance.
Running your own node is encouraged as it increases decentralization — you can autonomously monitor the network is not compromised and your funds are safe.
If you don't want to run a full node or just curious, you don't need this repo — you can freely use our public node to connect to and jump straight to our document.
Documentation for dApp developers
For validators
You will definitely need to run a leap-node instance, if you want to become a validator on Leap Network. Validating Leap Network is a way to earn money by ensuring the network security and thus delivering a public good.
Read more on becoming a Validator
Getting Started
Please find all necessary instructions to set up your own node and on how to become a validator in our LeapDAO docs.
Quick start
# Install latest leap-node from NPM. You may need different version depending on the network you connect to.
npm install -g leap-node
# Start the node connecting to testnet. It will take a few hours to sync with the tip of the network.
DEBUG=tendermint,leap-node* leap-node --config=https://testnet-node.leapdao.org
Hardware Requirements
- 64 bit CPU
Prerequisites
- Node.js 8+ (10/12 compatible)
- build-essential
Install
Install latest leap-node from NPM. You may need different version depending on the network you connect to:
npm install -g leap-node
Run
To run the node you execute a leap-node with commandline arguments.
The bare minimum of arguments required are:
--config
to specify a path to local JSON file with network configuration or a JSON RPC url of another leap-node to get configuration from--rootNetwork
to specify a root chain provider url (e.g. your own ethereum node or infura)
Chain ID of the root chain provider should match the rootNetworkId in the network configuration file (e.g. 4 for Rinkeby).
DEBUG=tendermint,leap-node* leap-node [ARGS] --config=<path-to-config.json> --rootNetwork=<root-network-provider-url>
Once started and synced with the network, the node exposes a Leap JSON RPC on a port 8645. You can use your node now or apply to become a validator.
Available Networks
Testnet
Config file: presets/leap-testnet.json
Mainnet
Config file: presets/leap-mainnet.json
Configuration
See docs.leapdao.org for advanced configuration.
API
leap-node --version
— print current leap-node's version
leap-node --config=... --fresh
— delete local data for the network except validator keys. ⚠️Be careful, non-reversible
Documentation
See docs.leapdao.org
Development
See DEVELOPMENT
Contributing
Please read CONTRIBUTING.md for details on our process for submitting pull requests to us, and please ensure you follow the CODE_OF_CONDUCT.md.
License
This project is licensed under the MPL-2.0 License - see the LICENSE.md file for details.