Exonum CIS Dynamic Services Launcher
Project description
Exonum CIS Dynamic Service Launcher
A tool to send deploy&init requests into the Exonum CIS blockchain.
Usage
usage: exonum_launcher_cis [-h] -i INPUT [-r RUNTIMES [RUNTIMES ...]]
[--runtime-parsers RUNTIME_PARSERS [RUNTIME_PARSERS ...]]
[--instance-parsers INSTANCE_PARSERS [INSTANCE_PARSERS ...]]
Exonum service launcher
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
A path to yaml input for service initialization
-r RUNTIMES [RUNTIMES ...], --runtimes RUNTIMES [RUNTIMES ...]
Additional runtimes, e.g. `--runtimes java=1 python=2
wasm=3`
--runtime-parsers RUNTIME_PARSERS [RUNTIME_PARSERS ...]
Runtime spec parsers, e.g. `--runtime-parsers
python=your_module.YourRuntimeSpecLoader` Values will
be imported and treated like SpecLoader, so ensure
that module with loader is in `sys.path`.
--instance-parsers INSTANCE_PARSERS [INSTANCE_PARSERS ...]
Instance spec parsers, e.g. `--runtime-parsers
python=your_module.YourInstanceSpecLoader` Values will
be imported and treated like InstanceSpecLoader, so
ensure that module with loader is in `sys.path`.
So, if you want to run exonum-launcher_cis
with Rust runtime only and without custom artifact spec loaders, you can just use:
python3 -m exonum_launcher_cis -i sample.yml
If you want to use exonum-launcher
with Python runtime and Python runtime spec loader, the command will be:
python3 -m exonum_launcher_cis --runtimes python=2 --runtime-parsers python=exonum_launcher.runtimes.python.PythonSpecLoader -i sample.yml
Example of expected yaml
file:
networks:
- host: "127.0.0.1"
ssl: false
public-api-port: 8080
private-api-port: 8081
deadline_height: 10000
artifacts:
cryptocurrency:
runtime: rust
name: "exonum-cryptocurrency-advanced:0.12.0"
# Example of artifact that should not be deployed
example_artifact:
runtime: rust
name: "exonum-cryptocurrency-advanced:0.12.0"
deploy: false
instances:
xnm-token:
artifact: cryptocurrency
config: []
nnm-token:
artifact: "cryptocurrency"
config: []
some-instance:
# Since we will not deploy `example_artifact`, it is assumed that it is already deployed
artifact: "example_artifact"
config:
val_a: "123"
val_b: 345
Important: if you have more than one validator in the network, ensure that connection data
(networks
section of the config) is specified for every validator.
Deploy&init process requires requests to be sent to each validator, so don't expect that transaction broadcast mechanism will work here.
Plugins
You can define custom runtimes and plugins in the config (so you won't have to provide them from command line):
runtimes:
python: 2
plugins:
runtime:
python: "exonum_launcher_cis.runtimes.python.PythonSpecLoader"
artifact: {}
See samples
folder for more examples.
Install
pip install exonum-launcher-cis --no-binary=protobuf
License
Apache 2.0 - see LICENSE for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file exonum-launcher-cis-0.1.3.tar.gz
.
File metadata
- Download URL: exonum-launcher-cis-0.1.3.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee1b3773d7362addf7cf37ce290c828aa31953b65cff9d033401a49ea39c6fcc |
|
MD5 | d8d3a567b545089db002bea057fca3a4 |
|
BLAKE2b-256 | 825147338d2b8c15f3e1c584bce44c78b67b39f260260fdcf987e86c5ed4e3bb |
File details
Details for the file exonum_launcher_cis-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: exonum_launcher_cis-0.1.3-py3-none-any.whl
- Upload date:
- Size: 20.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 029e5c122306fe8eee781d0a5f1828cd617f5aaea10bc3016afd04849774d61d |
|
MD5 | 1df08c465e95223b8d77f14ee03e2935 |
|
BLAKE2b-256 | af66812aa9b986ccdec1bc67cdde210698eb6c6cf01fcfed7b8fbee8c6efba57 |