Skip to content
This repository has been archived by the owner on Dec 15, 2021. It is now read-only.

icon-project/loopchain

Repository files navigation

This repository archived. Refer to ICON 2.0 aka goloop.


Loopchain

loopchain loopchain

Citizen Sync

Loopchain is a high-performance Blockchain Consensus & Network engine of ICON project.

In order to run a loopchain node, you need to install ICON Service that runs a smart contract and interacts with loopchain engine, and ICON RPC Server that processes HTTP requests from clients.

For details, refer to the guide below.

Table of Contents

Getting Started

Requirements

Loopchain development and execution requires following environments.

  1. Python 3.7.x

    We recommend to create an isolated Python 3 virtual environment with virtualenv.

    $ virtualenv -p python3 venv
    $ source venv/bin/activate

    NOTE: Now we support 3.7.x only. Please upgrade python version to 3.7.x

  2. RabbitMQ 3.7+

    Loopchain requires RabbitMQ.

    For the reliable installation, please visit: Downloading and Installing RabbitMQ

  3. Reward Calculator

    Reward calculator is a daemon which calculates I-Score of ICONists to support IISS.

    Please visit Reward calculator github repository to install it.

  4. Other Dependencies

    • MacOS

      $ brew install automake pkg-config libtool leveldb openssl
    • Ubuntu

      $ sudo apt update
      $ sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
        libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
        xz-utils tk-dev libffi-dev liblzma-dev automake libtool lsof

      NOTE: If you are using ubuntu 18.04, you need to install additional library libsecp256k1-dev

    • CentOS

      $ sudo yum update
      $ sudo yum install -y git zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel \
        xz xz-devel libffi-devel gcc gcc-c++ automake libtool lsof

Installation

via source code

  1. Check all requirements properly installed

    $ make requirements

    If you don't see any error logs and you have started rabbitmq server, you may move on to next step.

  2. Proceed installation

    $ make all

    This command is for setting up:

    • packages: installs all necessary python packages via setup.py.
    • gRPC proto: generates python gRPC code from protocol buffer which is defined in loopchain.proto
    • keystore: generates a keystore file.

    NOTE: Password must be at least 8 characters long including alphabet, number, and special character. Please be careful not to forget the password since you will need it to run the Citizen Node.

  3. Run Citizen

via snapcraft (linux only)

  1. follow this guide : install loopchain via snap

TearDown

  • Clear RabbitMQ processes & pycache & build

    $ make clean
  • Delete log / delete DB

    $ make clean-log clean-db

NOTE: For more command options, $ make help

See Also...

Documentation

ICON release

License