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
+ Requirements + Installation + TearDown + Documentation + ICON Release + LicenseGetting Started
Requirements
Loopchain development and execution requires following environments.
- Python 3.7.x
$ 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+
For the reliable installation, please visit: [Downloading and Installing RabbitMQ]
- Reward Calculator
Please visit [Reward calculator] github repository to install it.
- Other Dependencies
$ 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
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].
[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