Giter Site home page Giter Site logo

jormungandr's Introduction

Full Node

Just because you call something a blockchain, that doesn't mean you aren't subject to normal engineering laws.

How to install from sources

We do support multiple versions of the rust compiler, however we recommend to utilise the most recent stable version of the rust compiler.

  1. install rustup
  2. make sure you have cloned the submodule too: git submodule update
  3. install: cargo install

Note:

  • on windows, you'll need to add the /userProfile/.cargo/bin into the Path;
  • on linux and OSX: add ${HOME}/.cargo/bin to your ${PATH}

This will install 2 tools:

  • jormungandr: the cardano node;
  • jcli: a command line tool to help you use and setup the cardano node;

How To Use

In order to use jormungandr you need to configure your blockchain and configure your node.

  • the Genesis File is the source of truth, the configuration of the blockchain;
  • the Node Configuration file is the configuration of the node (logging, peer addresses...);

Node Configuration

Example of node config:

storage: "/tmp/storage"
logger:
  verbosity: 1
  format: json
rest:
  listen: "127.0.0.1:8443"
  pkcs12: "example.p12"
  prefix: "api"
peer_2_peer:
  trusted_peers: []
  public_access: "/ip4/127.0.0.1/tcp/8080"
  topics_of_interests:
    transactions: low
    blocks: normal

Fields description:

  • bft.leaders: public keys of the nodes.
  • storage: (optional) path to the storage. If omitted, the blockchain is stored in memory only.
  • logger: (optional) logger configuration,
    • verbosity: 0 - warning, 1 - info, 2 -debug, 3 and above - trace
    • format: log output format - plain or json.
  • rest: (optional) configuration of the rest endpoint.
    • listen: listen address
    • pkcs12: certificate file (optional)
    • prefix: (optional) api prefix
  • peer_2_peer: the P2P network settings
    • trusted_peers: (optional) the list of nodes to connect to in order to bootstrap the p2p topology (and bootstrap our local blockchain);
    • public_address: (optional) the address to listen from and accept connection from. This is the public address that will be distributed to other peers of the network that may find interest into participating to the blockchain dissemination with the node;
    • topics_of_interests: the different topics we are interested to hear about:
      • transactions: notify other peers this node is interested about Transactions typical setting for a non mining node: "low". For a stakepool: "high";
      • blocks: notify other peers this node is interested about new Blocs. typical settings for a non mining node: "normal". For a stakepool: "high";

Starting the node

If you are not a leader node, then you can start the jormundandr with:

jormungandr start --genesis-block block-0.bin \
  --config example.config \
  --without-leadership

documentations

Extra tooling

CLI

Building:

cargo build --bin jcli

The binary has subcommands

License

This project is licensed under either of the following licenses:

Please choose the licence you want to use.

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.