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/
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_componentsuser_components/
(located in AppData/local/ElectrumSV-SDK/user_componentselectrumsv_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
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 Distributions
Built Distributions
Hashes for electrumsv_sdk-0.0.30-py3-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a61daaeb2a636d5a823848dfc406f05303dff161fa5be4ba2a4b1f0348989bb |
|
MD5 | 534af36606e32c42b9d46e4d1578dc26 |
|
BLAKE2b-256 | 48c3df2ee70080f383430794533867d00b5618f27879b7dd70ec9c781f002207 |
Hashes for electrumsv_sdk-0.0.30-py3-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92b169f94b227cd8865d1deceae600c1eaec968aecc1fd888d44ad1599ece41d |
|
MD5 | 5757e9f0c6f4902126f163c2cb46b7af |
|
BLAKE2b-256 | 3a3f1845458009be26e246e24814f27b8638eafc39f66433749099ddf79a36fb |
Hashes for electrumsv_sdk-0.0.30-py3-none-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd0926d03a74c53ab377f891ab5db2f921bc5ec5835bddb694e4c0a2906753fa |
|
MD5 | 13e845c69e62f5aa88d69c9c85d923cb |
|
BLAKE2b-256 | e868fb7507cbf7804155b9e4365cb4bf6efd10f2d79818d3aee1520ad4f7adda |
Hashes for electrumsv_sdk-0.0.30-py3-none-macosx_10_5_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5f44334f10a9e48d8dd4e1bb5d14700879f33b1582f23db464caad84becb350 |
|
MD5 | 5ad84193ab46b7afbac0cad6fab9b7ff |
|
BLAKE2b-256 | 09f839ff6a18c287e563a56e2b7ecac61d79c209460a943011879e504d869705 |