leap-node
v3.1.4Full 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
- Getting Started
- Available Networks
- Configuration
- Documentation
- Development
- Contributing
- License
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.