September Development Update
This month the core development team has been focused dominantly on improving tools, and testing the stability and security of upcoming features.
Greycore
This month was the first month in which the RenVM Testnet was running its consensus mechanism on the Greycore. As always, we are rolling out slowly to more members. For more information about the rollout of the Greycore, see our announcement blog post.
We started with BadgerDAO, helped them with their node, and monitored its impact on the network. We identified and fixed a number of minor issues with synchronising missed blocks, and with the Hyperdrive consensus algorithm.
We have also made a number of improvements to the latest nodectl tool which will help Greycore operators administrate their nodes. Most notably, around the deployment of updates, changes to the Greycore validator set, and recovering from potential “catastrophic crashes” (where the state of the node gets corrupted and needs to be re-synced from a safe known state).
Next month, once these improvements have finished being tested, we expect to move on to the next member of the Greycore: Polymer.
Host-to-host: Loki
By far the biggest focus for the team has been on the upcoming host-to-host transactions, which has been running on Testnet for just over a month.
During this time, we have been adding a number of features and fixes to Loki, our testing framework, and hitting Testnet hard with various tests. Loki allows us to constantly run a suite of tests against Testnet, giving it very little respite, ensuring that all amounts are computed as expected, no invalid transactions get through, and no unexpected behaviour is observed. Every time we deploy a complex feature to RenVM — such as host-to-host transactions — we like to spend some time adding new capabilities to Loki to make sure that our testing is up to scratch. This approach has been able to identify a number of issues that we have now patched.
In preparation for allowing use by third-parties, we have also been upgrading RenJS. RenJS is the JavaScript library that third-parties — and https://bridge.renproject.io itself — use to interact with RenVM. Over the last few weeks, we have been adding host-to-host capabilities into RenJS so that users will be able to transaction using https://bridge.renproject.io and third-parties will be able to support host-to-host transactions too.
Lastly, we have also been working on support for host-to-host transactions with Solana. Ethereum, and the majority of the other host chains supported by RenVM, all use the EVM and Web3 as their smart contract engine and API respectively. This makes it easy for us to develop and test support on one chain, and then port the implementation to other chains. However, Solana is special, and uses a dramatically different programming model. As a result, it requires special attention in both implementation, reviewing, and of course, testing.
Multichain
As the Multichain has grown to support ever more source and destination chains, our team has also continued to improve the codebase and infrastructure. This month, our Multichain team put a significant amount of work into the upcoming Terra upgrade, which include a number of changes that required the RenVM codebase to be patched.
After a couple of months of ruthless feature development, this month has been a time to step back, consolidate, and ensure that these features are ready for prime time. Over the next month, we should see new Greycore members hit Testnet, and these new features rollout.
Until next time,
Loong
About Ren
Ren is an open protocol that enables the movement of value between blockchains.
Website | Docs | Telegram | Announcements | Twitter | Reddit | Github