September Development Update

Loong
Ren Protocol
4 min readSep 30, 2020

--

Before we dive into some of the details of this month’s development update, I would like to mention one of the biggest steps for the Ren project in the last month: the opening of our community forum! You can find it at

Although the forum is, by its nature, a community-oriented part of the project, it is worth drawing attention to during this development update because the forum hosts our RFC and RIP processes. RFCs (or Requests For Comments) are proposals for change that can be discussed by the community. Through these discussions, the community can evolve and change the RFCs, address technical concerns, refine ambiguities, and so on. RIPs (or Ren Improvement Proposals) are formalisations of finalised RFCs, where the community can express their support for/against a proposal.

Go check it out at https://forum.renproject.io and let everyone know how you think RenVM could be improved. And now, for highlights from the development team.

Multichain

Every month, the Multichain continues to grow. There are now 12 open pull requests that add support for new chains. Although not all of these chains will necessarily make it into RenVM proper, the support from the wider community to build up the capabilities of the Multichain has been awesome. Since the last update, we have merged support for Fantom, canopy upgrades on Zcash, upgrades for Acala, Filecoin, and more.

This month, we also deployed the Multichain to a staging testnet environment. A staging environment is used for preparing changes before making them available to production-ready systems; it is a final testing environment. Soon, we will deploy staging mainnet environments and production testnet environments. These APIs give RenVM, but also third-party developers, access to an array of different blockchain nodes.

RenVM

Since the launch of mainnet, the development team has been hard at work preparing the next release of RenVM. Phase sub-zero has taught us lots, and the next release should be the last major release before we begin to progress to the next phase of decentralisation. It contains a number of improvements, but its core focus is on supporting new assets and chains.

This month, we achieved several goals to this end:

  • Finalised the new transaction engine. This engine will be capable of supporting any chain that is supported by the Multichain with zero changes. This is a huge technical achievement, as it will allow much faster adoption of new chains; only governance will be required to accept new chains, no explicit code changes will be needed.
  • Deployed this new release to a staging testnet environment with an automated continuous testing framework. This allows us to continuously run a suite of tests against the new release, ensuring that we find as many bugs as possible.
  • Demonstrated DOGE, FIL, and LUNA being sent to/from Ethereum.
  • Demonstrated BTC, DOGE, FIL, LUNA, BCH, and ZEC being sent to/from Binance Smart Chain.

Our goals for the coming month are to demonstrate interoperability with Acala and Solana, and to continue testing and reviewing all of the work that has gone into this new release.

N-Version Programming

N-version programming refers to the practice of implementing multiple instances of the same software using different people, programming languages, tools, and so on. The idea is that multiple instances of the same software, built in varying ways, are unlikely to all have the same bugs. If all of the instances work together without issue, you can be more confident that all instances are working as expected. Furthermore, if everyone is running different instances of the same software, then one bug is unlikely to take everyone down.

To this end, this month, the development team took the first steps towards building another instance of RenVM using the Rust programming language. It is still early days, and it will be a long time before this version is ready to be deployed to staging environments, but it marks the beginning of something very important for the Ren project: diversity of implementation. This will improve the stability and reliability of RenVM, make it less vulnerable to accidental bugs, and help improve documentation/specifications.

House Keeping | Darknode CLI Update ⚠️

If you have not already, please update your Darknode CLI to version 3.0.13. Follow these instructions and you’ll be all set.

Looking Forward

Another busy month for the Ren development team, and another step closer to some exciting new features being available in production. The success of newly demonstrated chains being supported by RenVM brings confidence to the team that before the end of 2020, we will see interoperability between a whole new set of assets and chains.

Until then,

— Loong, CTO

About Ren

Ren is an open protocol that enables the permissionless and private transfer of value between any blockchain.

Website | Docs | Telegram | Announcements | Twitter | Reddit | Github

--

--

Loong
Ren Protocol

Building an open protocol that facilitates the permissionless and private transfer of value between any blockchain | CTO at Ren