Skip to main content

ElectrumSV SDK

Project description

ElectrumSV Software Development Kit

This project provides a consolidated set of resources that together can allow a developer, whether working on ElectrumSV directly or on an application based on ElectrumSV, to develop, run and test while offline (and is especially aimed at facilitating rigourous CI/CD functional testing).

Licence: The Open BSV License
Maintainers: Roger Taylor, AustEcon
Project Lead: Roger Taylor
Language: Python (>=3.7)
Homepage: https://electrumsv.io/

PyPI version Build Status Platforms Platforms

Instructions

To install from pypi run (for general users):

> pip install --upgrade electrumsv-sdk

Now you have global access to a script called 'electrumsv-sdk.exe' from any console window.

For help:

> electrumsv-sdk --help

If you want help for one of the subcommands (e.g. 'start') do:

> electrumsv-sdk start --help

Which will show:

usage: electrumsv-sdk start [-h] [--new] [--gui] [--background] [--inline] [--new-terminal] [--id ID] [--repo REPO] [--branch BRANCH] {electrumsv,electrumx,merchant_api,node,status_monitor,whatsonchain,whatsonchain_api} ...

positional arguments:
  {electrumsv,electrumx,merchant_api,node,status_monitor,whatsonchain,whatsonchain_api}
                        subcommand
    electrumsv          start electrumsv
    electrumx           start electrumx
    merchant_api        start merchant_api
    node                start node
    status_monitor      start status_monitor
    whatsonchain        start whatsonchain
    whatsonchain_api    start whatsonchain_api

optional arguments:
  -h, --help            show this help message and exit
  --new                 run a new instance with unique 'id'
  --gui                 run in gui mode (electrumsv only)
  --background          spawn in background
  --inline              spawn in current shell
  --new-terminal        spawn in a new terminal window
  --id ID               human-readable identifier for component (e.g. 'worker1_esv')
  --repo REPO           git repo as either an https://github.com url or a local git repo path e.g. G:/electrumsv (optional)
  --branch BRANCH       git repo branch (optional)

NOTE1: The sdk tool only handles a single component_type at a time (i.e. for the start, stop and reset commands).

NOTE2: The "optional arguments" above come before specifying the component_type e.g.:

> electrumsv-sdk start --new --id=myspecialnode node

Plugins

The plugin model has three layers

  • builtin_components/ (located in site-packages/electrumsv_sdk/builtin_components
  • user_components/ (located in AppData/local/ElectrumSV-SDK/user_components
  • electrumsv_sdk_components (local working directory)

Each layer overrides the one above it if there are any namespace clashes for a given component_type

The rationale for using a plugin model is aimed at maintainability and extensibility.

To get a feel for the patterns and how to create your own plugin you can look at the 'builtin_components/' as a template.

Disclaimer: Creating plugins is more the domain of software developers who are expected to have a certain competency level and are willing to work through some technical challenges to get it working.

Most users of this SDK would be expected to merely make use of existing (built-in) plugins for the ease of spinning up 1 or more RegTest instances of the offered component types and manipulating the state of the RegTest environment via the provided tools (which may or may not make use of the electrumsv wallet - which runs by default as a daemon process with a REST API (but can also be run in the more familiar GUI mode).

Whatsonchain blockexplorer (localhost)

Please go to whatsonchain setup guide Whatsonchain setup guide

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

electrumsv_sdk-0.0.30-py3-none-win_amd64.whl (50.9 kB view hashes)

Uploaded Python 3 Windows x86-64

electrumsv_sdk-0.0.30-py3-none-win32.whl (50.9 kB view hashes)

Uploaded Python 3 Windows x86

electrumsv_sdk-0.0.30-py3-none-macosx_10_5_x86_64.whl (50.6 kB view hashes)

Uploaded Python 3 macOS 10.5+ x86-64

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