icon-project
loopchain
Python

Blockchain engine for icon foundation.

Last updated Feb 6, 2025
67
Stars
29
Forks
0
Issues
0
Stars/day
Attention Score
42
Language breakdown
Python 99.5%
Makefile 0.4%
Shell 0.2%
Files click to expand
README

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

+ Requirements + Installation + TearDown + 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/activate

> NOTE: 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 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

  • 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.

  • 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].
[ICON Service]: https://github.com/icon-project/icon-service [ICON RPC Server]: https://github.com/icon-project/icon-rpc-server [Reward Calculator]: https://github.com/icon-project/rewardcalculator [virtualenv]: https://virtualenv.pypa.io/en/stable/ [Downloading and Installing RabbitMQ]: https://www.rabbitmq.com/download.html [ICON Release]: https://github.com/icon-project/icon-release/releases

[Run Citizen Node on ICON Testnet network]: docs/5.%20run/runcitizennode.md#run-citizen-node-on-icon-testnet-network [Run Citizen Node on ICON Mainnet network]: docs/5.%20run/runcitizennode.md#run-citizen-node-on-icon-mainnet-network [install loopchain via snap]: citizen/quickstartsnap.md

[ICON Developers Portal]: https://www.icondev.io/ [Apache 2.0 License]: https://www.apache.org/licenses/LICENSE-2.0

© 2026 GitRepoTrend · icon-project/loopchain · Updated daily from GitHub