Skip to content

leapdao/leap-node

Repository files navigation

Full node for Leap Network

codecov Docker Repository on Quay

Leap Network is an implementation of Plasma framework based on More Viable Plasma and Plasma Leap extensions.

image

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

All the details

Mainnet

Config file: presets/leap-mainnet.json

All the details

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.