Dev Status Update — August, 2020
The full article was originally published by Jakub Cech on Medium. Read the full article here.
Dev Status Update — August, 2020
The Chrysalis phase 1 components have been implemented in the Hornet node and deployed to the comnet network. On comnet, spam tests have reached a value of ~1500 TPS and over a 1000 CTPS. Most value transactions on comnet are confirmed within 10 seconds of sending.
We will be releasing Chrysalis (IOTA 1.5) Phase 1 on mainnet on August 19, 2020.
If you are running a node make sure you upgrade it
Make sure you upgrade your nodes from IRI to Hornet. If you want to migrate your old IRI DB to Hornet so that you can retain history, you can use the following migration tool. IRI will not be supported after the Chrysalis phase 1 upgrade.
The network’s coordinator address will change to:
With the upgrade to Chrysalis phase 1. When first running your node after the Chrysalis upgrade, you will need to overwrite the coordinator address using Hornet’s –overwriteCooAddress <new coordinator address> parameter.
API changes in Hornet nodes
- The checkConsistency API call is being removed.
- The attachToTangle `mwm` parameter is now optional.
- The getTransactionsToApprove the `depth` parameter is being removed.
Promotion and reattachment logic changes
In most cases and during normal network operation, the need for promoting and reattaching transactions should be very limited compared to the pre-Chrysalis network. However, we recommend the following flow when sending transactions in your wallet implementations and other software that sends value transactions to the Tangle:
- Send the transaction
- Check if the transaction has been confirmed within the first 10s. If not, you can promote it by calling `getTransactionsToApprove` and using one of the tips as a reference.
- You only reattach the transaction if it falls below `belowMaxDepth`.
Chrysalis phase 2
The work on Chrysalis phase 2 is well underway as well. From wallet software, to specifications and implementations. You can see the specifications we have published for Chrysalis phase 2 here. We encourage you to provide feedback.
Further improvements of the Pollen network are well underway. Specifically, the latest version of the GoShimmer node software, v0.2.3 (released just this week), brings improvements on the synchronization and the dashboard.
The team is already working on the next large milestone, Nectar. The components that will make up the Nectar network will be iteratively released on the testnet in the upcoming months, starting from the distributed Random Number Generator (dRNG).
You can read more about Pollen, Nectar, and Honey, concepts we introduced to talk about the milestones on the path to Coordicide in this post.
The Bee team has been hard at work implementing Chrysalis phase 1 and other node components and releasing individual crates. The initial crates have also been audited by an external party. We plan on releasing the first alpha version of the Bee node in the upcoming weeks. We will start testing the node on comnet next week as we build up the functionality for Chrysalis phase 2.
You can find all Bee RFCs in their respective GitHub repository.
The team released a 0.4.2 version of Hornet a few weeks back and is now testing an RC version of the new Chrysalis node implementation on comnet. The Chrysalis implementation achieved ~1500 TPS and over 1000 CTPS when stress-tested on comnet. We plan on releasing the full version of the next Hornet version for mainnet next week.
If you would like to take part in the tests, please head to the #comnet and #hornet channels on our Discord.
Previously, we released an Open Source Series Hornet installation video by Luca Moser that you can watch here. You can also watch the Hornet installation party video by Antonio Nardella as part of the IOTA Experience Team.
As noted in this blog post, IRI 1.8.6 was the last release of IRI that we are actively planning. If you have not switched to Hornet, please make so before the Chrysalis phase 1 upgrade happening next week. IRI will not be supported on the IOTA mainnet after Chrysalis phase 1.
If you want to migrate your old IRI DB to Hornet so that you can retain history, you can use the following migration tool.
The team has been progressing towards the first PoC of our new smart contracts integration. Lately with focus on switching to the GoShimmer core APIs and with adding new smart contracts for the initial implementation. The VM part of the team has been working on finishing up the Wasm VM that will be integrated with the Wasp node.
We plan on finishing the initial PoC for our smart contracts in September.
At the end of July, we released the first version of Stronghold. Stronghold is a collection of multipurpose libraries for securely managing passwords, personal data, and private keys. We will be using Stronghold in our Chrysalis wallet implementation. Stronghold is written in Rust and you can check it out here.
Development is progressing nicely on both the Stronghold and Wallet libraries. We hope to open up the Wallet library to the community very soon. Meanwhile, the final details of the new wallet’s architecture have been ironed out, including our usage of the actor model. Individual components (e.g. Stronghold, Wallet, UI) exist as ‘actors’ within the wallet, communicating with one another via messages. Applying such a structure gives greater assurances of security, isolating each component to ensure they don’t share memory. With the wallet supervisor and UI actors implemented, we are now in a position to start building out the wallet front end. Other work has involved speccing out the chat and contact system (using the Matrix protocol), as well as updating Trinity to accommodate for Chrysalis part 1 next week.
UX and design work is coming to a close — well-timed for beginning front-end development. We are extremely pleased with the direction we have arrived at, amounting to a significant upgrade in usability when compared to Trinity (and the whole industry). Design and research are complete. Now is the time to ramp up development and implement it all.
The Streams team has been working on changes to the implementation that allows for functionality like multi-publisher support, as well as changing the existing processes into a binary form to improve performance on existing hardware. All the changes will be part of a release that we plan for August — stay tuned!
The team will also be adjusting the functionality to support changes made for Chrysalis phase 2.
We have released a new implementation of the Permanode in Rust, Chronicle alpha 0.1 last month. The solution is highly customizable and extendable while making it simple to use with the CLI application. You can read more about the release here.
The team has been working on additional functionality, like paging support, extending the findTransactions response, adding MQTT support and more. At the moment, the team is building up gossip and solidification support.
We have made the following updates to our roadmap:
- The IOTA Smart contracts timeline has changed. The Smart contracts PoC is now slated for September 2020, instead of August 2020.
- The Bee timeline for a mainnet release has been pushed from August 2020 to September 2020. We will spend the time testing the node on the comnet.
We also reorganized and renamed some of the items on the roadmap in order to better reflect the terms we are using.
As always, we welcome everyone to stop by on Discord — every project mentioned here has a channel (or more) for discussion with the devs!
Follow us on Twitter to keep track of all the latest news: https://twitter.com/iotatoken