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.
Loopchain development and execution requires following environments.
-
Python 3.6.5+ (recommended 3.7.x)
We recommend to create an isolated Python 3 virtual environment with virtualenv.
$ virtualenv -p python3 venv $ source venv/bin/activate
NOTE: We will support 3.7.x only in the future. Please upgrade python version to 3.7.x
-
RabbitMQ 3.7+
Loopchain requires RabbitMQ.
For the reliable installation, please visit: Downloading and Installing RabbitMQ
-
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.
-
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
-
-
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.
-
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.
- packages: installs all necessary python packages via
-
Run Citizen
- follow this guide : install loopchain via snap
-
Clear RabbitMQ processes & pycache & build
$ make clean
-
Delete log / delete DB
$ make clean-log clean-db
NOTE: For more command options,
$ make help
- Please visit ICON Developers Portal
- This project follows the Apache 2.0 License.