Releases: electrumsv/electrumsv-sdk
Releases · electrumsv/electrumsv-sdk
0.0.33
- Substantial updates to documentation which is now hosted at https://electrumsv-sdk.readthedocs.io/
- Multiple changes to make the SDK more useable as a library (aimed at generating reorg blocks)
- Move most of controller.node() logic (for RPC calls) out into a common area in utils.py
- Add commands.py for exposing public methods for using the main SDK entrypoints as a library
- Update 'status' command to allow filtering by component_type or component_id
- Add reorg scripts to contrib/ to document reproducible methodology. The script produces: common_blocks.dat (height 200); node1_blocks.dat (height 201) and node2_blocks.dat (height 202)
- Make CLI extension code more generic and add the --deterministic-seed option for electrumsv
- Also added the --regtest and --testnet cli option to node and electrumx components
- Simplify logic around mixing --id and <component_type> to always require <component_type> (simplifies the code and user interface). 'reset' and 'stop' commands still allow no args and will reset or stop all components.
- Fix pipeline by installing postgres via homebrew rather than using docker
- Make logging less verbose
- Removed electrumsv-indexer (deferred)
- Include electrumsv-server (BIP270 testing server) directory in pypi package and add it as a plugin
- Convert electrumsv-server (BIP270 testing server) from curio to aiohttp web framework
- Add broadcasting feature (to mAPI endpoints on all public networks & locally on RegTest) to the BIP270 testing server
0.0.32
0.0.31
- migrate merchant API (mAPI) to ASP.NET Core-based version (v1.2) via unofficial compiled binaries (you can find here: https://github.com/electrumsv/electrumsv-mAPI)
- incorporate mAPI into testing pipeline cross-platform
- updated documentation and is now hosted live at https://electrumsv-sdk.readthedocs.io/en/latest/
- revised graceful shutdown logic for node and electrumx to ensure there is no data loss when stopping these components (which could lead to confusion for users if they didn't know what happened)
- added 'BITCOIN_NETWORK' global environment variable for switching networks and hard-coded electrumsv to use a robust testnet ElectrumX server.
0.0.30
0.0.29
- pin requests to version <=2.25.0 until other dependencies are ready for chardet>=4.0
- add dynamic extensions of the command line interface for plugin-specific extensions (e.g. --testnet flag for electrumsv)
- added Mac OS X 11 (Big Sur) support
- removed polling of spawned child processes in favour of waiting on the
subprocess.Popen
handle and checking the returncode. (fixes status monitor which now behaves correctly for catching startup, stopping, and failed process states). - attempts graceful shutdown for all child processes via sigint before escalating to sigkill
0.0.28
- added docker support for all plugin components. Now available from dockerhub: https://hub.docker.com/u/electrumsvsdk
- enable environment variable configuration of whatsonchain and whatsonchain mock api to allow communication with external IP addresses - e.g. host.docker.internal)
- bug fix for node command
- remove out-dated help text - will have online documentation to refer to instead
0.0.27
0.0.26
0.0.25
- removed all code that generates intermediate shell scripts to run servers / components. This was due to an unclear / inconsistent API for using python's
subprocess.Popen
cross-platform. But these issues have been worked though now and results in simplified and more reliable code. Environment variables are directly passed to the child process viaPopen
. - logging is now captured via stdout and written to standardised locations in
AppData/ElectrumSV-SDK/logs/<component_type>/<component_id>/<datetime>.log
(or $HOME/.electrumsv-sdk/... on linux) - can now use the
--inline
flag to direct stdout to current shell and block in current terminal (logging is still also written to the log file in the standardised location). - added the
--new-terminal
flag (--new-terminal is the default). - linux requires xterm for the --new-terminal flag to work (gnome-terminal made process id tracing of the grandchild process impossible)