Dev Status Update November 2019

Published by the IOTA dev team every month, this update will provide you with news and updates about our key projects! Please click here if you want to see the previous status update.  

Last month, the Bee team met in Berlin to get some work done face-to-face. This meeting was dedicated to finding the right level of abstraction and creating a clear roadmap for Bee v0.1. This effort was to ensure that our implementations are flexible but not over-engineered.  

We have decided to pre-approve RFCs if they are sufficiently advanced for the implementation to start, and if the blockers are well-defined. The first such RFC is for representing IRI transactions and bundles. Work on the hashing RFC has also advanced well, and we have the first drafts for storage and proof of work.  

We are also investigating what flavor of Async to choose in order for the networking RFC to be prepared soon. For the Bee Tangle implementation, we have come up with an idea for eager solidification, which should give us some performance and efficiency gains compared to the current implementations. You can read more about this and the other RFCs in the bee-rfcs repository.  

Finally, we are putting the final touches to our open-source governance idea for Bee to slowly become an open-source project run and developed by the IOTA community.

You can always see what the Bee team is up to in the open Discord channels where the day-to-day team communication happens. See the 'bee-dev', 'bee-discussion', and 'bee-rfcs' channels. You can find the meeting minutes for both RFC and development meetings in the meeting minutes repository.  

Our main software implementation has been making great strides over the past couple of months when it comes to stability and improved node operator experience. We still have some ongoing efforts that should make the lives of node operators significantly easier. For example, improving local snapshots to allow users to define the size of the database in bytes instead of milestones. This has been a very sought-after feature and we’re confident it will be made available in IRI soon.  

While IRI has several parallel efforts ongoing at this point, the main focus of the upcoming months is still performance. The team is working on changing the persistence layer in order to support transaction caching, which should in turn significantly increase the number of transactions we can process.  

The FPGA team now has a fully working Curl-P implementation running on QLE core. This was achieved with manual configuration. In the future, we also want Qupla and Abra code to be converted into configuration data for QLE cores. This is currently in progress.  

To kick off further discussions around the messaging layer, we will be publishing Medium articles on this topic in the near future. And we’re looking for your feedback and discussions in the #Qubic Discord channel afterward!  

GoShimmer serves not only as an important testbed for our Coordicide effort, but will also be extensively used for Qubic simulations. We are now in the process of making changes to GoShimmer to support that.

As is now rather well-known, the Trinity team has been working on an exciting new feature: the ability to purchase IOTA directly from the wallet. We have integrated MoonPay into both mobile and desktop clients to enable a smooth purchase of tokens. This will be a significant milestone for Trinity and our ecosystem, greatly streamlining new user introductions into IOTA.  

The team has also been working on a spent address recovery tool. Both features are for the most part ready and should be just around the corner.  

Another new and exciting project is also baking and the team is looking forward to sharing the details soon.  

We are now in the process of creating a specification and a validation prototype for a new and improved version of MAM. We believe we will have a prototype reflecting this first specification finished by the end of the year.

Some of the improvements of the upcoming MAM will include:  

  • The ability to grant new users access to older messages.
  • Amending messages to an existing data message.
  • Integrated key exchange functionality
  • and much more.

We’re excited to share all the details with you once the prototype implementation is closer to being finalized.

Throughout January, we would like to take the time to ask for everyone’s feedback on the functionality of the new MAM. We will use this feedback for the final implementation.  

If you are working with the first version (v0) of MAM, we now have a pure JavaScript implementation available as well. Fully interoperable with the Wasm version, it is 51Kb compressed vs. 1.4Mb compressed for the Wasm version.  

The permanode team has started its initial implementations of porting Chronicle to Rust. One big topic for the team was investigating the Rust runtime environment that will be used. We decided to stick with the Tokio runtime for now, but plan on benchmarking it against a minimal work-requesting runtime.

As always, we welcome everyone to stop by on Discord— every project mentioned here has a channel (or more) for discussion with our teams!


Follow the IOTA Foundation on our official channels for the latest updates
Discord | Twitter | LinkedIn | Instagram | YouTube