Hello all! As part of our work to publish a series on core concepts you need to understand in order to build Holochain apps, I’ve been playing around with a metaphor that the core devs invented back in May: the ‘Holonut’. Does this work well for explaining Holochain? Is it easy to understand? Does it introduce new understanding and/or confirm stuff you already understood? Does the humour add or just detract?
2: Application architecture
Applications built with Holochain are highly modular in both functionality and architecture. This makes it easy to share code and compose smaller pieces together into larger wholes. Each Holochain application (called hApp) has its own set of rules, private network, and distributed database.
Agent-centric integrity: inside, outside, and in between
Before we talk about the tech stack, let’s talk about donuts. That’s a good way to start, isn’t it?
This is Holochain. It’s ring-shaped. Thanks to the magic of gluten, it has enough integrity to hold itself together. It separates the universe into two empty spaces: the hole and the space beyond.
On top of Holochain is your application. Each application has a different flavor.
Let’s put you inside the hole. You have agency — the power to receive information from your world and act upon it. Together, your copy of the Holochain runtime and your application mediate between you and Holochain land.
On the outside of the ring is a shared space. In it are other people, also using the same application. Holochain mediates interactions with them too, shuttling information across space with the help of a computer network.
Holochain creates a ‘double membrane’ for each participant, bridging between their world and the digital space they share. It guarantees the integrity of data passing through it on both the inside and the outside. This lets people safely do the things that are important to them, without having to depend on a central authority.