Babylon RCnet Released!
Are you fired up? If not, then get fired up, because the rollout of RCnet means Babylon is right around the corner!
RCnet is focused on developers and early integrators. It provides tooling and standards for more robust frontends, a Core API ready for exchanges to sink their teeth into, and the thing everyone’s been asking about since RadFi 2022 aired, namely…
Reviewing transactions within the Wallet
Since showing off the vision for a mainstream-ready wallet at RadFi, there have been a lot of responses from outside the Radix community that could best be summarized as “Sure, sure, that would be amazing, if it actually got built.” That’s totally fair; the crypto space is full of absurd promises that never amount to much. So, the question is: do you like apples?
That’s an early version of transaction review running in the latest iOS Wallet preview build, which is releasing along with RCnet today.
It’s still missing lots of functionality, but there’s plenty of chewy goodness to get started with. You can see what’s leaving your accounts, you can see what badges you’re presenting, you can see what applications you’re interacting with, and you can see what’s going back into your accounts. The future is now!
There’s lots more still to come, including:
- User-customizable guarantees on deposits (as seen above, partially implemented on iOS already. Android not yet)
- Prominent warnings about things which look potentially scary to sign
- Special views for certain kinds of recognizable transactions
- An “advanced view” for users who want to look at every step of the manifest in detail (at the moment, it just displays the raw contents)
- Smarter display for transactions where you aren’t actually withdrawing or depositing anything (such as if you were just updating the metadata on a component)
- Better handling for resources created within the transaction
- Metadata-defined icons for applications, components, and resources
- Linking to other screens for details about every dApp and resource you’re interacting with
- Correct fee estimates and breakdown of fees between network costs and royalties
- …and an assortment of visual tweaks to this first pass at the display
Core API ready for integrators
Key integrators, like exchanges, are critical for a successful network. The Babylon transaction model, while an absolute revolution for the crypto space, is quite a bit different from the norm for exchanges which are built entirely around the traditional “sender-recipient” transaction pattern. It’s always been assumed that they’d have to run their own Gateway instance in order to get the data they needed, but several months ago inspiration struck the team, and it seemed possible that the Radix Engine and the node could be adjusted to enable the Core API – provided directly by the node – to meet their needs by itself.
After much hair pulling, gnashing of teeth, and long weekends, that goal has been achieved just in time for RCnet. The good news is that this greatly simplifies the basic Babylon integration path for exchanges and other third parties. The bad news is that the necessary extra rounds of adjustment to the Engine and state model have delayed getting the Gateway API to a point of stability, which we’ll discuss further down below.
Personas and off-ledger data sharing with dApps
Personas and their associated ability to share permitted data are now working in the Wallet preview, allowing developers to get their first crack at being able to request personal data directly from the Radix Wallet. With the Betanet 2 preview, dApps could separate “who you are” (Persona-based logins) from “what you own” (accounts you shared). With RCnet, the “who you are” becomes richer. Want to get an email address for a user? Don’t have them fill in a form web 2.0 style (yuck); just request the email address field from their Radix Wallet.
In this first iteration, the preview Wallet supports a very narrow set of personal data fields. This is purely so developers can get a feel for the process; the full set of data fields is still being fleshed out. Speak up in Discord if there’s an item that your application is going to want.
Radix Connect Button evolves into Radix dApp Toolkit
With the initial Betanet release, the Radix Connect Button gave developers a nice jumpstart for providing a consistent user experience when connecting a wallet to a dApp website, but it quickly became apparent that there was plenty of room to expand that functionality to make it even easier to let users manage how they connect to your dApp in a simple, powerful way without requiring a lot of custom web development.
With Betanet 2 came the release of the Radix dApp Toolkit, which packaged the Radix Connect Button with the Wallet SDK behind a handy unified interface for frontend developers - and now it does even more. Automatic session management after a Persona login, tracking and notifications about requests and transactions, data caching, and more come for free behind a user-friendly Connect Button menu, as seen here:
Still coming for RDT and the Connect Button, by popular developer request: more appearance options for different website designs, more information about requests and transactions, a basic guided onboarding flow for new users, and many visual tweaks and enhancements.
Metadata updates and new standards
Metadata allows developers to specify information about their components, packages, and resources outside of code. It’s a key piece of the puzzle for allowing good integrations between on- and off-ledger systems, without them having to actually know about each other’s existence.
The metadata system has grown up a bit, with values now being typed rather than just strings. But the key to making this system not just flexible, but useful, is having some accepted standards for how metadata is used. If developers use metadata in the same way, it means the Radix Wallet, Dashboard, exchanges, and other integrators can reliably provide useful information to users, as well as tackle problems like copycat dApp websites that try to trick users who inadvertently get linked to them.
RCnet brings the first proposal for a preliminary set of metadata standards that the Radix Wallet will adopt and rely on to guide builders in how they can ensure the best possible treatment in the wallet for dApps, tokens, NFTs, and more. This includes metadata to assist with clear display in the Radix Wallet and other clients and metadata to provide verification and linking between parts of your dApp.
Also, the Radix Dashboard has been updated with a much-expanded dApp Definition configuration page (tutorial on the docs site is coming soon), making it easy for developers to create the on-ledger representation for their dApp and link it to its websites, resources, and components according to the dApp Definition system part of the metadata standards. The iOS version of the preview Wallet is now starting to pay attention to this linking to show users more about what components they are interacting with, and further use of this metadata is coming, so get familiar with how it works!
Radix Engine Toolkit is expanding
The Radix Engine Toolkit has some updates in store in April in response to feedback from the developer community and early integrators.
- A TypeScript target is coming for frontend developers, to allow for easy parsing and analysis of transaction manifests, as well as the ability to go from SBOR to JSON and back
- A command-line version for Scrypto devs (this one’s already done, just needs a bit of documentation)
- A new layer of functions for integrators which handles all the heavy lifting of building & signing basic transactions, like transfers
Look for more information in the developer announcements channel in Discord soon.
What Didn’t Make It
While RCnet met or exceeded most of its targets, some areas fell short.
Most notably, the Gateway API is still not in a stable state, and there’s additional functionality still to come. If you’re in active development, this is mostly just a nuisance, as you may have to adapt to a couple rounds of endpoints changing paths or having some parameter adjustments. If you were looking to finalize your frontend right now and then put your application on ice until Babylon releases, that won’t be possible. Please continue to provide feedback in Discord on the Gateway experience, as adjustments will continue.
Radix Off-Ledger Authentication (ROLA) doesn’t have the tooling put together quite yet. Everything needed at the network level is all present, but the consumer side of things just took a backseat to other priorities. It’ll be available prior to Babylon release, but no exact ETA yet.
Finally, the research effort leading up to adjusting the fee table is still ongoing, which means developers wanting to tune their blueprints for the minimum possible cost will need to wait a bit longer. As with ROLA, this was simply a case of other priorities taking precedence.
In the Home Stretch
Conceiving, designing, and building the full stack for DeFi has been an incredibly long and difficult road, full of challenges both expected and surprising. It’s incredible to see so many novel, never-been-done-before pieces of technology finally coming together to deliver an amazing experience much greater than the sum of its parts, and to feel just how close Babylon is to delivery. To see such a herculean effort this close to completion, and delivering beyond the original vision, is nothing short of electrifying!
It’s also wonderful to see how successful RadFi has been at communicating what Radix is all about in a way that everyone can understand. Every person has a different journey to gaining their first Radix Revelation, when they finally “get it” and start to grasp just what a game-changer Babylon will be for the crypto space, and it’s been heartening to see so many of those lightbulbs going on over the last few months.
Enough talk! On to Babylon!
Does RCnet have “real” tokens and applications on it that will become part of mainnet?
No, RCnet is strictly a test network, and everything on it will eventually vanish.
Will RCnet experience ledger resets during operation? Can my data on it be wiped?
Yes and yes. New RCnet releases may include a reset of the ledger.
What happens to Betanet?
It will be shut down soon, and everything targeting Betanet will stop working.
Why don’t I see the Radix Wallet on the App Store/Google Play Store?
Prior to the mainnet upgrade, both applications are only distributed through their respective platform’s testing process via an invite link for developer use. You can sign up here, if interested.
What Wallet features are expected to be present at Babylon release?
There is an upcoming blog on this exact topic, stay tuned!
When will we be getting Wallet updates with more of the features mentioned above?
A patch release to bring in a couple of items that didn’t quite make it (such as guarantees on Android) is planned for April. It is not yet known whether there will be subsequent test releases prior to Babylon release.
How can I get started building on RCnet?
If you already joined the Radix Developer Program during Betanet, you’ll see an updated version of the Wallet preview in TestFlight or Google Play. If not, sign up here and then head on over to Discord to find the most welcoming and helpful developer community in all of crypto.
Are community validator node-runners welcome on RCnet?
They will be! Watch for an announcement in Discord when the community test program is ready to expand beyond the current group.