Skip to content

counterparty-lib v9.49.4

Compare
Choose a tag to compare
@adamkrellenstein adamkrellenstein released this 05 Feb 23:24
· 3819 commits to master since this release

Description

This was a major upgrade, though non-mandatory, because it involved a complete re-architecting of the project---this package is now a 'pure' Pyton library and a PyPi package, with no wallet functionality or command-line interface. Installation of counterparty-lib is now as simple as running $ pip3 install counterparty-lib; installation of the CLI is as simple as running $ pip3 install counterparty-cli.

Migration from earlier versions may well be accompanied by some hiccups---we've tried to make the upgrade path as smooth as possible, but there are definitely edge cases we haven't been able to test. However, because this new version includes no changes to the core protocol, upgrades may proceed at a relatively leisurely pace.

Mandatory Upgrade Block

  • None

Protocol Changes

  • None

Implementation Changes

  • Re-architected this package as a library
  • Moved CLI to new repository: counterparty-cli
  • Remove all signing and broadcast functionality
  • Created setup.py build script
  • Return to using requests for handling connections to backend
  • Introduced global variable CURRENT_BLOCK_INDEX
  • Prepared version check for repository rename to counterparty-lib
  • Improved test coverage
  • Misc. bug fixes
  • Removed option of using Insight, Blockr and SoChain as a backend
  • Added option of using btcd as a backend
  • Moved API docs elsewhere

Interface Changes

  • Renamed configuration parameters: jmcorgan -> addrindex, BACKEND_RPC_* -> BACKEND_*, BLOCKCHAIN_SERVICE_NAME -> BACKEND_NAME.
  • counterpartyd.py server has been changed to counterparty-server start (CLI)
  • Paths to all configuration files, database files and log files changed. Their default locations are displayed when counterparty-server is run with --verbose.
  • Removed signing and broadcast functionality from API (do_*, sign_tx, broadcast_tx calls). The API documentation contains a guide to wallet integration.

Upgrade Procedure

  • The migration of the configuration files and database files to their new paths is handled automatically by the setup script: python3 setup.py install.
  • The names of some configuration parameters have changed---see above.
  • If you were using Insight, SoChain or Blockr for block explorer functionality, you must now switch to using a Patched Bitcoin Core or btcd as the backend.