As our developers keep making great progress with the Counterparty platform and improving the existing codebase, the rest of the team is busy updating the documentation, writing new tutorials and providing community support.
Here’s what we’ve been up for the past seven days.
From the Team
This week we got new Counterparty supporters join the Foundation and receive XCP and store coupons. We once again thank you all for your support. The Counterparty Foundation giveaway campaign is still on, so be sure to check out the benefits offered by our membership program here.
New Documentation
We’ve updated the documentation on our website to reflect the recent changes in the code architecture. You can review the new components on our Platform architecture page. We’ve also written several new Counterwallet tutorials listed on the User Tutorials page. Product documentation, build instructions and APIs have also been updated with recent changes and will be further expanded in the following days.
We are working hard on providing a stable, reliable and secure system that is easy to install and use and is accompanied with a thorough documentation. Much like the code is open source, so is our documentation, so feel free to click the ‘Edit on Github’ link and submit your PRs with corrections or new information.
Migrating Forum to Discourse
For the past year, our forum, which has become one of the main channels for Counterparty discussions and support, has been based on the Vanilla software. However, due to the lack of some basic features (such as deleting and editing posts, standard HTML editor, etc.), difficult maintenance, as well as emerging bugs, we decided to migrate the forum to a more user-friendly and feature-rich software – the Discourse.
Discourse allows both editing and deleting of posts, easy moderation and enhanced spam filtering. It lets category moderators create subcategories, has various sign-in options (e.g. Google, Github, Yahoo, Twitter accounts), and all the other nice features one would expect from a forum (including decent markup support very similar to Github markdown).
The migration is in process and is expected to be finished by the end of the week. The forum will remain available for all users during that time and all posts and comments submitted will be migrated to Discourse.
From the Community
This week we had two new tools developed by our valuable community members, and a podcast by FoldingCoin explaining Counterparty and its uses.
New Third-Party Tools
We all know how learning new technology and testing new software can be tricky. There is often not enough information that is widely available, and when there is, it can be hard to find. Searching Google is often our best option, but even then it can be very time-consuming to find the right answer among the various search results. For this reason, our community member built a useful tool, designed specifically for Counterparty-related queries, named XCP Search.
XCP Search is a Google Chrome browser extension for Windows and Linux desktops that offers Counterparty-related search (code, open issues, support site docs, addresses, assets) straight from your browser. It can be useful to anyone who frequently needs to search Counterparty-related information. The extension can be downloaded from here.
Another tool released this week is the Blockscan Generate Key tool which allows you to check, retrieve and generate your Counterwallet addresses and keys using your 12 word passphrase. Because Counterwallet is a deterministic wallet, it “knows” about all addresses it can possibly have. Addresses are cryptographically tied to the wallet, while the wallet has a 1-to-1 relationship with the pass-phrase. The Generate Key tool runs only on the client side (in your browser using javascript). Your keys and the passphrase are never transmitted server side. For additional security the script can also be run while in offline/disconnected mode.
The tool can be accessed at https://blockscan.com/tool_generatekey, while the source code is available at https://github.com/blockscan/cw_address_key_generator.
Counterparty on the Web
Another interesting community update comes from CoinRepublic who have demonstrated the use of Counterparty tokens for voting. You can check out the discussion on Reddit and the presentation from Inside Bitcoins on YouTube.
Finally, for this week’s community news we’d like to share an interview with the FoldingCoin founders in which they thoroughly explain the Counterparty technology and its basic features. You can listen to the entire podcast on MixCloud.
Development Updates
We’re finalizing changes in our code and conducting final testing before the v9.49.4 release. Detailed information about the new release will become available in our upcoming development updates. Until then, feel free to browse through our commits on GitHub and review the changes across our repositories:
- counterparty-lib – Reference implementation of the Counterparty protocol
- counterparty-cli – Command-line interface for counterparty-lib
- counterparty-gui – Counterparty GUI (OS X and Windows)
- Counterwallet – Web wallet
- counterblock – Provides extended API services to Counterwallet, as well as Counterparty 3rd-party applications
- federatednode_build – Federated Node Build System
Another important development announcement this week is the pull request to default to OP_RETURN encoding for Counterparty transactions.
Counterparty currently uses 1-of-3 multi‐signature data outputs where the first public key is that of the sender, so that the value of the output is redeemable, while the second two public keys encode the data, zero‐padded and prefixed with a length byte. The alternative to this was using the 40-byte OP_RETURN, however it was insufficient for some transactions and a slower alternative at the time due to mining pools refusing to mine them.
New developments in bitcoin suggest that the next version of Bitcoin Core will relay transactions with an 80-byte OP_RETURN output (see bitcoin/bitcoin#5286). Additionally, it seems all the major mining pools now support the 40-byte OP_RETURN, which is a cheaper method in terms of transaction size (fee) and superior to the current mutlisig encoding. This means we can now switch our default encoding mechanism to OP_RETURN for all transactions that fit into 40-bytes (or 80-bytes once the new version of Bitcoin Core is released). All other transactions will keep using multisig outputs.
This change is currently scheduled for v9.49.5. You can see our discussion on the topic on GitHub #690.