One of the five core values of RDX Works says “Do the right thing, not the easy thing.” It comes up a lot whenever there is a dilemma between taking an approach that will be serviceable or one that is more labor-intensive but unequivocally superior. Especially as on an immutable public ledger, you live with your design choices forever, so it’s critical to get them right.
Then there’s a mid-2020 tweet by the founder of Ethereum that has been often referenced during the long march towards the Babylon Mainnet upgrade:
During RCnet testing we have been reviewing developer feedback, the application examples produced by the community, and Scrypto code created by the RDX Works team. What stood out was that the Gateway API was failing to address the needs of many dApp developers, and that Scrypto’s approach for setting up authentication was producing situations where even experienced devs were making preventable mistakes.
Babylon is all about making smart contract development safe and application behavior easy to comprehend. However, even developers who knew exactly how the authentication system worked were sometimes omitting important permissions just by being a little hasty. It became clear that a re-design was necessary, and backing such a change in after Babylon went live would be considerably more difficult.
Changes to the authentication configuration affect low-level network state, which the Gateway has to comprehend and adapt to. We realized we were marching towards a release where we’d be coding Gateway changes right up until the end, with no time for downstream consumers (including the Wallet and Dashboard, as well as community devs) to build against a stable target, and then no time to adjust based on feedback. The likely outcome of this would be services that rely on the Gateway (Radix Wallet, new Dashboard, and ecosystem projects) would experience stability issues, creating bad user experiences even if the network itself was running smoothly.
Babylon is the critical springboard and foundation for everything that is to come, and it deserves a great 1.0 experience. For a 1.0 experience that everyone can enthusiastically recommend to their friends, family, and colleagues, the delivery schedule needs to change.
- The Babylon network upgrade will now occur on or about September 27th, 2023
- RCnet v2, including authentication redesign, will be split into two parts
- The Node, Radix Engine, and Scrypto will be released on July 6th
- An updated Gateway, Wallet, and Dashboard will be released a few weeks after
- The public test migration of Stokenet will use the RCnet v2 node, and will occur the week of July 10th
- RCnet v3 will mark a stable Gateway for developers to target, and will include additional endpoints requested by the community. It will go live in August, with no exact date yet determined.
Additionally, the RDX Works development team will be setting up some live Q&A sessions with community developers in order to answer detailed questions about specific feature availability. The first session will be on July 11th, at 15:00 UTC.
Updating the release timeline was a difficult decision. It was certainly tempting to just push ahead with a workmanlike first release, and then revisit it with later patches. But that would have started Babylon off with an inferior foundation. It would be forgoing some short-term pain for long-term consequences. It wouldn’t have been right, given all that is ahead to achieve. And Radix is playing for all the marbles.