7 February 2019
IOHK newsletters provide updates on work done specifically for cryptocurrency exchanges and on relevant software releases and developments. The previous newsletter can be found here.
IOHK released a Cardano 1.4.1 hotfix with Cardano SL 2.0.1 and Daedalus 0.12.1 on 24 January 2019. The hotfix resolved issues with transaction fee validation, block recovery under some specific network conditions, blockchain synchronization, and limitations in showing transaction history. We strongly recommend upgrading to Cardano 1.4.1. Before upgrading, shut down the wallet and make a backup of the state directory; consult the exchange onboarding doc for build instructions.
With the optimized block storage introduced in Cardano SL 2.0.0 of Cardano 1.4.0, the node will begin a process to consolidate block files at start-up, and users will notice increased I/O and CPU use on their systems while this is in progress. If there are missing or corrupted block files in the database, the consolidation process will not complete, and any wallet restoration will not complete. The current solution to this problem is to delete the database and re-sync blockchain data. We are working on automated verification and resyncing of corrupted blocks in future releases.
All users are encouraged to experiment with Cardano’s features on the Cardano testnet before upgrading.
Cardano wallet API
Cardano 1.4 contains both versions of the wallet API:
- V0 with the old data layer, which is deprecated
- V1 with the new data layer, which is now the default version.
Cardano 1.4 provides a smooth transition from the old data layer to the new one. In the next release, 1.5, the old data layer will be removed entirely. Therefore we are calling for all exchanges to upgrade to the latest Cardano 1.4 and to migrate to the wallet V1 API.
Migration to the wallet V1 API
The migration from the wallet V0 API to V1 API is a fairly quick procedure (seconds to a few minutes) which should not be interrupted, and will eventually trigger a full wallet asynchronous restoration. The asynchronous restoration can be interrupted and restarted as usual without any consequences.
Note that, in case of upgrading from Cardano 1.3 to 1.5, clients will lose wallet metadata: the name, assurance level, spending password, and unused addresses. This will not happen if upgrading from 1.3 to 1.4 and then from 1.4 to 1.5. The 1.4 release includes additional logic to allow for the recovery of metadata from an old data layer. Cardano 1.5 and above releases won’t include such logic and therefore, only the information available on the blockchain will be recoverable. As a matter of fact, starting from 1.5, the migration boils down to a mere restoration. After any upgrade, exchanges are expected to start nodes so the migration process can begin.
Code review for wallet V1 API
We would like to draw exchanges’ attention to the blog about backwards incompatible changes in the Cardano 1.4 wallet API. If any of the enumerated endpoints are used in exchanges’ integration tier, then we recommend a code review and changes to allow for the improved logic in Cardano 1.4 if required.
Cardano Byron completion
The first Cardano development phase, Byron, will come to an end this year. There will be a few more releases of Cardano 1.N, and two hard forks before Cardano will be upgraded to Cardano Shelley, which will mark the beginning of decentralized Cardano 2.N. Cardano’s development phases and versioning are explained in this blog.
In Cardano 1.5, scheduled for March 2019, we will deliver the Ouroboros Byzantine Fault Tolerance consensus implementation in the code base cardano-sl. Ouroboros BFT code will be shipped deactivated. After the majority of clients are upgraded to Cardano 1.5, we will switch from the original consensus algorithm to Ouroboros BFT via a protocol update in the first hard fork. In subsequent Cardano releases we will migrate to a new code base that will be followed by the second hard fork that will trigger Cardano decentralization. In general, for every hard fork, Cardano clients should upgrade Cardano to a version that supports a relevant following hard fork.
Upcoming hard forks: action required by exchanges
As part of the upgrade from the Cardano Byron era to the decentralized Cardano Shelly era, the network will go through two hard forks. Exchanges will have a window of time before each hard fork to upgrade to the latest version of the node and wallet. It is essential to upgrade within the time window, or the node and wallet will stop working at the time of the hard fork.
The first hard fork will occur some weeks after the Cardano 1.5 release. The hard fork will not be implemented before the 6th of March 2019, but it may occur any time thereafter. The second hard fork will be advertised in another newsletter closer to the time.
Prior to the first hard fork it is essential to upgrade to the V1 wallet API and to upgrade to Cardano 1.5 when it will be released.
The IOHK support team is conducting an exchange survey to collect data about Cardano use and to improve how we communicate announcements, technical issues, and bug fixes.
If an exchange has an explicit feature request for the wallet API, or the wallet in general, and would like to work with us, please contact us in the usual way, or email your suggestion to firstname.lastname@example.org with the subject ‘New Feature Request’. Our engineers, product managers, and business analysts will consider your proposal. IOHK also has a support portal where requests can be submitted.