This week, we wanted to share some of our top tips for one of your most-asked-about topics: Corda networks!
Corda networks can be used in many contexts and with a variety of tooling to connect them, which can sometimes make things confusing. Let’s start from the beginning.
How does one corda node find another?
Corda nodes find each other using the network map. This is a collection of statically signed node-info files, one for each node. If you’re using a network manager, the nodes will request this file from there. If you’re using the network bootstrapper, the nodes have this file created and available from the outset. Ultimately, each node maintains a local map of the other nodes that it can reach.
What kinds of Corda networks are there?
There are three primary types of Corda networks you should be aware of:
- Bootstrapped networks: If you’re developing locally, you’re likely using a bootstrapped network. This is a network that was created (whether you knew it or not) using the Corda network bootstrapper. In these networks, a lot of the details are “hard-coded” into the nodes since developers are trying to focus on feature and app development, not running a dynamic network on their machine.
- Dynamic networks with a network manager: The Corda Enterprise Network Manager should be the tool of choice for a Corda developer hoping to go to production. This is because it’s got a high availability network map for quick node provision, membership privacy, and granular management options.
- The public network run by the Corda Network Foundation. This is a completely public network that any party can join, which can enable transactions to be represented between any participants on the web. If you’re looking to transact with specific parties and maintain a node that anyone can transact with you on, this would be a good option.
Can I use a bootstrapped network in production?
You theoretically could, but it’s not recommended. Remember that those network details are hard-coded. If you wanted to add a new node or a new party to your network, you’d have to re-generate all the network information, stop each node, copy the new network information, and restart them.
Another note about the network map that you get from the bootstrapper is that it’s stored in a serialized blob format. If you open it with Vim, you’ll see gibberish, but you can inspect these blobs with the Corda blob inspector.
How can I run Corda in production?
Our general recommendation is to use Corda Enterprise with Corda Enterprise Network Manager.
Can I use Corda Enterprise Network Manager with Corda Open Source Nodes?
Yes. You can use Corda Open source for your nodes and just use the Enterprise network manager.
Okay, but how do I run Corda Open Source in production?
For that, you have some community options. The most popular one that’s emerged is called Cordite. While we don’t officially support it, some developers have used it and had success going that route. Be warned, though, that it certainly is harder!
If you’d like to see more blog posts like these or have ideas on what we should add, feel free to send a note to [email protected].