Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exonum-launcher-cis-0.1.3.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

exonum_launcher_cis-0.1.3-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

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

Hashes for exonum-launcher-cis-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ee1b3773d7362addf7cf37ce290c828aa31953b65cff9d033401a49ea39c6fcc
MD5 d8d3a567b545089db002bea057fca3a4
BLAKE2b-256 825147338d2b8c15f3e1c584bce44c78b67b39f260260fdcf987e86c5ed4e3bb

See more details on using hashes here.

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

Hashes for exonum_launcher_cis-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 029e5c122306fe8eee781d0a5f1828cd617f5aaea10bc3016afd04849774d61d
MD5 1df08c465e95223b8d77f14ee03e2935
BLAKE2b-256 af66812aa9b986ccdec1bc67cdde210698eb6c6cf01fcfed7b8fbee8c6efba57

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page