loopchain
loopchain copied to clipboard
Blockchain engine for icon foundation.
This repository archived. Refer to ICON 2.0 aka goloop.
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.
Table of Contents
- Getting Started
- Requirements
- Installation
- TearDown
- See Also...
- Documentation
- ICON Release
- License
Getting Started
Requirements
Loopchain development and execution requires following environments.
-
Python 3.7.x
We recommend to create an isolated Python 3 virtual environment with virtualenv.
$ virtualenv -p python3 venv $ source venv/bin/activateNOTE: Now we support 3.7.x only. 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 lsofNOTE: 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
-
Check all requirements properly installed
$ make requirementsIf you don't see any error logs and you have started rabbitmq server, you may move on to next step.
-
Proceed installation
$ make allThis 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
- Run Citizen Node on ICON Testnet network
- Run Citizen Node on ICON Mainnet network
via snapcraft (linux only)
- 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
- Please visit ICON Developers Portal
ICON release
- Please visit ICON Release
License
- This project follows the Apache 2.0 License.