Skip to content
This repository has been archived by the owner on Dec 15, 2021. It is now read-only.

icon-project/icon-service

Repository files navigation

This repository archived. Refer to ICON 2.0 aka goloop.


Build Status PyPI

ICON Service

ICON Service manage state of ICON node including ICX, SCOREs using LevelDB.

Before processing transactions, ICON Service check for syntax errors, balances, etc.

Installation

This chapter will explain how to install icon service engine on your system.

Requirements

ICON SCORE development and execution requires following environments.

  • OS: MacOS, Linux
    • Windows are not supported yet.
  • Python
    • Make a virtualenv for Python 3.7
    • check your python version
      $ python3 -V
    • IDE: Pycharm is recommended.

Libraries

name description github
LevelDB ICON SCORE uses levelDB to store its states. LevelDB GitHub
libsecp256k ICON SCORE uses secp256k to sign and validate a digital signature. secp256k GitHub

Setup on MacOS

#install levelDB
$ brew install leveldb

# Create a working directory
$ mkdir work
$ cd work

# setup the python virtualenv development environment
$ virtualenv -p python3 venv
$ source venv/bin/activate

# Install the ICON SCORE dev tools
(venv) $ pip install iconservice

Setup on Linux

# Install levelDB
$ sudo apt-get install libleveldb1 libleveldb-dev
# Install libSecp256k
$ sudo apt-get install libsecp256k1-dev

# Create a working directory
$ mkdir work
$ cd work

# Setup the python virtualenv development environment
$ virtualenv -p python3 venv
$ source venv/bin/activate

# Install the ICON SCORE dev tools
(venv) $ pip install iconservice

Building source code

First, clone this project. Then go to the project folder and create a user environment and build using wheel

$ virtualenv -p python3 venv  # Create a virtual environment.
$ source venv/bin/activate    # Enter the virtual environment.
(venv)$ pip install wheel
(venv)$ python setup.py sdist bdist_wheel
iconservice-x.x.x-py3-none-any.whl

Reference

License

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