Counterparty Development Update

December 12, 2014

This week we had several important upgrades to counterpartyd. Notably, the numeric asset names feature, released for testing several weeks ago, included a regression, which unfortunately required that a fix be pushed to all clients rapidly. Also, there was a potential security vulnerability that was fixed before it went live.

Announcing releases, we use the following forums: Skype chats, forums, blog posts, social media, email notifications, and most recently – SMS notifications.

In the near future, mandatory upgrades will become much less frequent: the Counterparty contracts system makes the platform infinitely flexible, such that every desired feature may be implemented in a contract, while the core protocol remains the same.

New Client Versions

We had two new client releases this week. Here’s what was included:

v9.49.0

v9.49.0 is a mandatory upgrade. Upgrades can be performed any time, but at block 334000 counterpartyd servers running 9.48 automatically halt. v9.49.0 includes the following changes:

  • hotfix: numeric asset names (protocol change: 334000)
  • sanity check on transaction construction
  • minor bug fixes

More on how to upgrade to v9.49.0 can be found in our forum thread: counterpartyd hotfix (Dec 11, 2014) + mandatory upgrade to v9.49.0 by block 334000.

We have since released another client version v9.49.1 which has a minor change (removed printing of user-submitted text on asset issuances, broadcasts and bets), however this upgrade is optional.

v9.48.0

On December 10th, we pushed a mandatory counterpartyd upgrade to version 9.48.0 due to an identified bug with BTCPay. For more information on this upgrade check out our forum thread: counterpartyd hotfix (Dec 08, 2014) + mandatory upgrade to v9.48.0

Please note that as of block 334000, this version will become obsolete and all systems should upgrade to the latest version 9.49.0.

Multisig Addresses and Free Asset Names Live in Counterwallet

Few hours after hitting block 333500 and the multisig and numeric asset names becoming available in counterpartyd, we updated the production Counterwallet to include these features. Note that feature release in Counterwallet is not ‘automatic’ like in counterpartyd (starting from a specific block height) and requires manual intervention. For this reason, features in Counterwallet may sometimes be released a couple of hours late.

Other Changes and Fixes

There were a lot of minor changes and fixes across all our repositories this week. Here’s a list of most important ones:

  • added sanity check on transaction construction
  • removed logging user‐submitted text in broadcasts, issuances and bets
  • added another private key sanity check
  • removed plyvel from pip-requirements, plyvel now required only for kickstart
  • added message initialise functions (issue #193)
  • added backwards‐compatible version checks (issue #489)
  • hard‐coded mainnet burns (issue #221)
  • reorganised bitcoin.transaction()
  • added underscores in match IDs (issue #247)
  • tweaked startup logging
  • added new version checking (issue #203)
  • allowed destruction of assets – ‘destroy’ functionality (issue #145)
  • removed obsolete carefulness CLI option
  • fixed asset_supply()
  • added stronger --force warning
  • tweaked new protocol change handling (backwards‐compatible)
  • improved DB connection setup
  • allowed installation of Counterwallet without a Transifex account (downloading the translations is an optional step that can be done later)
    • To enable localizations (optional):
      • Create an account on Transifex
      • In your home directory, create a file named .transifex and put your Transifex username and password into it in this format: user:password
      • Run grunt build to download translations
      • Add the languages you want to support to AVAILABLE_LANGUAGES in counterwallet.conf.json – you can use counterwallet.conf.json.example as a template
  • moved Counterwallet locale settings to the config file
  • added addrindex to generated conf file in counterpartyd_build

That covers our development updates for this week. If you have any questions regarding recent or upcoming changes you can contact us via our support channel, forum or github.