Skip to content

jin-choo/loopchain

 
 

Repository files navigation

Loopchain

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.

Installation

Requirements

Loopchain development and execution requires following environments.

  • OS: MacOS, Linux

    • Windows are not supported yet.
  • Python

    • Python 3.6.5+ or 3.7.x (recommended version)

      We will support 3.7.x only in future. Please upgrade python version to 3.7.x.

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

      $ virtualenv -p python3 venv
      $ source venv/bin/activate
  • Third party tools

    automake pkg-config libtool leveldb rabbitmq openssl
    

    If you're using package manager, you can install all of them through your package manager.

    MacOS, for example)

    $ brew install automake pkg-config libtool leveldb rabbitmq openssl
    $ brew services start rabbitmq
  • Check all requirements are installed and started properly

    $ make requirements

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

Install necessary packages & Setup

This command is for setting up:

  • pip install all necessary packages.
  • generates python gRPC code from protocol buffer which is defined in loopchain.proto
  • generates a keystore file. Please be careful not to forget the password since you will need it to run Citizen Node later.
$ make all

...
Generating python grpc code from proto into >  /Users/jiyun/Desktop/happycoding/workspace/theloop/LoopChain
python3 -m grpc.tools.protoc -I'./loopchain/protos' --python_out='./loopchain/protos' --grpc_python_out='./loopchain/protos' './loopchain/protos/loopchain.proto'
Input your keystore password:  # Password must be at least 8 characters long including alphabet, number, and special character.

For more command options, you can check here:

$ make help

Run Citizen Node on ICON network

Clean Up

  • clear rabbitMQ processes & pycache & build
$ make clean
  • delete log / delete DB
$ make clean-db

License

This project follows the Apache 2.0 License. Please refer to LICENSE for details.

About

Blockchain engine for icon foundation.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.6%
  • Makefile 0.4%