cic-cli/README.md

71 lines
1.7 KiB
Markdown
Raw Normal View History

# CIC Token Deployment Tool
2022-03-01 09:22:14 +01:00
[![Status](https://ci.grassecon.net/api/badges/grassrootseconomics/cic/status.svg?ref=refs/heads/master)](https://ci.grassecon.net/grassrootseconomics/cic)
[![Version](https://img.shields.io/pypi/v/cic?color=green)](https://pypi.org/project/cic/)
2021-11-30 10:54:13 +01:00
CIC-CLI provides tooling to generate and publish metadata in relation to
token deployments.
```shell
2022-03-01 10:09:22 +01:00
pip install --extra-index-url https://pip.grassrootseconomics.net cic[eth]
2021-11-30 10:54:13 +01:00
```
## Usage
### Using the wizard
```
# Local
cic wizard ./somewhere -c ./config/dev-docker
2021-11-30 10:54:13 +01:00
2022-03-07 10:26:53 +01:00
# Test Net
cic wizard ./somewhere -c ./config/test-net
2021-11-30 10:54:13 +01:00
```
### Modular
2021-11-30 10:54:13 +01:00
Some of the concepts described below assume familiarity with base
concepts of the CIC architecture. Please refer to the appropriate
documentation for more information.
To initialize a new token deployment for the EVM:
```shell
2021-11-30 10:54:13 +01:00
cic init --target eth --name <token_name> --symbol <token_symbol> --precision <token_value_precision> <settings_folder>
```
To automatically fill in settings detected in the network for the EVM:
```shell
2021-11-30 10:54:13 +01:00
cic ext --registry <contract_registry_address> -d <settings_folder> -i <chain_spec> -p <rpc_endpoint> eth
```
## Structure of the components
![image](./doc/sphinx/components.svg)
CIC-CLI is designed to interface any network type backend. The current
state of the package contains interface to EVM only. Thus, the examples
below are limited to the context of the EVM.
## Development
### Requirements
- [poetry](https://python-poetry.org/docs/#installation)
### Setup
```
2022-03-01 10:09:22 +01:00
poetry install -E eth
```
### Running the CLI
```bash
poetry run cic -h
```
```bash
poetry run cic wizard ./somewhere -c ./config/dev-docker
```
### Tests
```
poetry run pytest
```