Skip to content

Advanced API Toolkit for Digital Securities Issuance and Management on the ibet Network πŸš€

License

Notifications You must be signed in to change notification settings

BoostryJP/ibet-Prime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ibet-Prime

Version License: Apache--2.0

English | ζ—₯本θͺž

The ibet-Prime security token management system for ibet network.

Features

  • ibet-Prime is an API service that enables the issuance and management of security tokens on the ibet network.
  • It supports tokens and various smart contracts developed by the ibet-SmartContract project.
  • As a security token ledger management system, ibet-Prime provides a variety of functions required under Japanese regulations.
  • By integrating the ibet-Prime API into your front-end application, you can easily build a security token management service.

Dependencies

Supported ibet smart contract version

  • ibet-SmartContract: Supports the latest version of contract specifications.
  • See details.

Setup

Prerequisites

  • A Python runtime environment must be set up.
  • The database must be created on PostgreSQL beforehand.
    • By default, the following settings are required:
      • User: issuerapi
      • Password: issuerapipass
      • Database: issuerapidb
      • Test database: issuerapidb_test
  • The TokenList and E2EMessaging contracts from the ibet-SmartContract project must be deployed in advance.

Install packages

Create virtual environment with:

$ uv venv

Install python packages with:

$ uv sync --frozen --no-install-project --no-dev --all-extras

Install pre-commit hook

$ uv run pre-commit install

Install hardhat

$ npm install

Setting environment variables

The main environment variables are as follows.

Variable Name Required Details Example
DATABASE_URL False Database URL postgresql+psycopg://issuerapi:issuerapipass@localhost:5432/issuerapidb
TEST_DATABASE_URL False Test database URL postgresql+psycopg://issuerapi:issuerapipass@localhost:5432/issuerapidb
DATABASE_SCHEMA False Database schema
WEB3_HTTP_PROVIDER False Web3 provider http://localhost:8545
CHAIN_ID False Blockchain network ID 1010032
TOKEN_LIST_CONTRACT_ADDRESS True TokenList contract address 0x0000000000000000000000000000000000000000
E2E_MESSAGING_CONTRACT_ADDRESS True E2EMessaging contract address 0x0000000000000000000000000000000000000000
BC_EXPLORER_ENABLED False Whether to use the BC Explorer 0(not use) / 1(use)
TZ False Timezone Asia/Tokyo

Other environment variables that can be set can be found in config.py.

DB migrations

See migrations/README.md.

Starting the Server

You can start the API server with:

$ ./run.sh server (Press CTRL+C to quit)

Open your browser at http://0.0.0.0:5000.

You will see the JSON response as:

{"server":"ibet-Prime"}

API docs

Swagger UI

Now go to http://0.0.0.0:5000/docs.

You will see the automatic interactive API documentation provided by Swagger UI:

swagger

ReDoc

And now, go to http://0.0.0.0:5000/redoc.

You will see the alternative automatic documentation provided by ReDoc:

redoc

Branching model

This repository is version controlled using the following flow.

branching_model

License

ibet-Prime is licensed under the Apache License, Version 2.0.

Contact information

We are committed to open-sourcing our work to support your use cases. We want to know how you use this library and what problems it helps you to solve. We have two communication channels for you to contact us:

  • A public discussion group where we will also share our preliminary roadmap, updates, events, and more.

  • A private email alias at [email protected] where you can reach out to us directly about your use cases and what more we can do to help and improve the library.

Please refrain from sending any sensitive or confidential information. If you wish to delete a message you've previously sent, please contact us.

Sponsors

BOOSTRY Co., Ltd.