IRI and Client Libraries Update 25 January

Update: This library is deprecated with the Chrysalis network upgrade. The rust libraries will be more heavily maintained. Documentation can be found in our latest docs.

Update: The IOTA reference implementation (IRI) is deprecated with the Chrysalis network upgrade and will no longer work with the protocol changes. We recommend switching to the Hornet or Bee node implementation.


To follow up on previous updates from the Trinity and Entangled teams, the client libraries team and the IRI team will also be posting regular updates on the development progress. The updates will contain both an overview of what the teams have been working on the past weeks, and outline what is ahead for the individual products.  

As you all probably know by now, we’ve released IRI 1.6.0 with local snapshots. The release happened exactly two weeks ago. We’re super thankful to all the community members and node operators for their feedback on 1.6.0.The implementation of local snapshot will definitely evolve with the product, but the current shape is a good start.  

A lot has changed in IRI 1.6.0 and there are quite a few outstanding issues to be resolved. The team is currently heads down in debugging so we can fix the issues as soon as possible.Resolving the issues will be the main focus of the upcoming weeks. This includes both the high resource load some of you are experiencing, as well as the syncing issues.  

Going forward, we still want to rework the whole database and networking layer. As well as make improvements to the APIs, both cosmetically and performance-wise. For example, we want to make sure nodes can support moregTTArequests in high network load scenarios. Node stability will also be an important topic with upcoming releases. The regression test framework, which evolved immensely in the last couple months, will help us with that.  

I’d also like to express a huge thanks to Zoran and Nuriel for keeping their guides up to date with every release. And for making the lives of node operators much easier.

Issues currently being investigated in IRI:

- Out of memory Exception may occur when syncing a node #1273- CPU spiking making the node unresponsive #1287- Resetting corrupted milestone issue #1292- Investigate sync issues #1279

The client libraries team, Java, JS, Go, has been mainly working on a design of functionality the libraries will support in the full 1.0.0 release. As well as the regular maintenance and support of libraries, including bug fixes.

What we aim to do next is make the libraries stateful. This will in turn help us make them safer and simpler to use.If you’ve developed with the current libraries, you probably know the learning curve can be rather steep.

Coming up with a proposal that satisfies all requirements was a long discussion, with many iterations, and even more specification documents. I’m happy to say that we’re closing in on the details and development will start next week. We’ll be sharing the details of individual pieces to get feedback as we progress. Client libraries with this functionality will allow you to import and create accounts, manage your seed, handle input selection, take care of promotion and re-attachment based on a customizable strategy, and much more.

If you have not been following the projects, you can do so on our GitHub:

We welcome community pull requests and can help you get up to speed with everything in our discord channels. Join the IOTA Discord server here.  


Follow us on our official channels for the latest updates:
Discord | Twitter | LinkedIn | Instagram | YouTube