Skip to content

Releases: electrumsv/electrumsv-sdk

0.0.33

09 Feb 05:12
Compare
Choose a tag to compare
  • 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

15 Jan 07:51
Compare
Choose a tag to compare
  • Fixed a packaging issue where the internal scrips directory was not transferred to the final wheel on pypi

0.0.31

14 Jan 11:05
Compare
Choose a tag to compare
  • 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

31 Dec 04:35
Compare
Choose a tag to compare
  • fixed pypi README rendering (switched over from .rst to .md)

0.0.29

31 Dec 04:34
Compare
Choose a tag to compare
  • 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

10 Dec 07:46
Compare
Choose a tag to compare
  • 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

10 Dec 07:43
Compare
Choose a tag to compare
  • add argparsing for node command to allow selection of --rpchost and --rpcport (use case is to connect to a node that is not on localhost or on a different port. For example host.docker.internal for communication between docker containers)

0.0.26

10 Dec 07:41
Compare
Choose a tag to compare
  • fixed an issue where stdout was not being flushed to terminal correctly

0.0.25

07 Dec 08:10
Compare
Choose a tag to compare
  • 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 via Popen.
  • 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)

0.0.24

07 Dec 08:02
Compare
Choose a tag to compare
  • separated install() from start() so that launching of servers is responsive (packages are already installed) - also improves user experience with docker images (install packages as part of build and start for entrypoint).