All Projects → icon-project → icon-service

icon-project / icon-service

Licence: other
ICON Service for Python

Programming Languages

python
139335 projects - #7 most used programming language

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].