Today we released Holochain 0.1.0-beta-rc.0, which is the first in a series of release candidates leading up to Holochain’s first beta release this coming January. With this release candidate, the Holochain conductor and SDKs are now feature complete for building applications. All devs with Holochain apps can now update their code to the Beta Release Candidate.
In preparation for Holochain Beta, we’ve been subjecting the codebase to a security audit by Least Authority, the favored security firm of many decentralized projects. Because cryptography is core to all modern decentralized tech projects, Holochain’s cryptographic key store — the program that stores agent keys and other secrets — was audited first. The result: the code auditors identified only one issue, which we corrected. While an audit isn’t a guarantee, there were no further vulnerabilities identified. This means that there are currently no known vulnerabilities or attack vectors for leaking users’ cryptographic secrets. You can read more about the keystore audit on Least Authority’s website, and we’ll be sharing each future audit report as it is completed.
If you're a dev who's new to Holochain, as soon as our scaffolding tool is updated to 0.1.0-beta-rc.0, you will be able to install and build your first app. For devs eager to deliver apps to their end users, hold tight — the Holochain Launcher and DevHub updates are still being finalized and will be released in the next few days.
Holochain is a full software stack for building scalable and efficient Web3 apps of every kind. You could build a currency, NFT, or DeFi platform with Holochain, but this framework is meant for even more. It’s capable of handling the storage and performance demands of the many practical things we want to do with each other online, most of which we’re familiar with from Web2, but with some new capabilities that don’t necessitate large centralized institutions for basic viability.
Some of the Dapps possible with Holochain Beta-RC
Here are some of the applications we think Holochain will help bring to life in decentralized form:
- Social networks
- Chat
- Groupware
- Knowledge sharing
- Real-time collaboration
- Project management
- Governance and decision-making
- Marketplaces
- Accounting
- Community currencies
- Digital rights management of creative works
- Supply chain accounting
- Renewable energy markets
- Adaptive IoT networks and other edge computing applications
As of this Beta Release Candidate, we consider Holochain’s current feature set to be sufficient for building these kinds of apps and more. In the near future, additional features will further augment the developer experience, along with components and tools that make it easier and faster to develop complex Holochain applications (hApps).
The feature set highlights include:
- A conductor runtime that hosts user application microservices in a WebAssembly virtual machine and interfaces with UIs
- A distributed state and integrity engine consisting of individual source chains that add data to a graph database stored and validated by random peers in a DHT
- The networking protocol for maintaining the DHT and sending messages
- Countersigning for transactions between users, including additional witnesses for ‘lightweight consensus’
- A user-friendly application launcher
- A set of SDKs for building microservices that produce, read, and validate user data and send messages between nodes
- A testing framework with a multi-machine test orchestrator
- A development environment with the tools needed to create, test, and package hApps
- Libraries for creating JavaScript and Rust clients
- For additional details see our our Beta-RC announcement
The user experience of Web2 meets the freedom of Web3
Holochain occupies a unique place in internet tech. It’s capable of providing fast, zero-cost data storage, processing, and messaging that auto-scales with the size of the user base, without using a centralized server. That means it can deliver on the promises of user empowerment that Web3 makes including.
- High throughput: Holochain surpasses the inherent performance limits of universal consensus.
- Zero cost: Because there’s no legion of validators to pay, Holochain application data incurs no transaction fees.
- Nearly infinite scalability: Each user brings their own compute power and storage, connecting to a subset of peers and holding a subset of data. Additionally, users only store data for the applications they use. These two properties let application infrastructure scale linearly with user adoption.
- Low resource consumption: Each participant in an application’s network stores only the data they produce along with a small portion of the shared database, so there is no need for often expensive mining algorithms.
- Privacy: Because there’s no central cloud database or global ledger, developers can empower their users to preserve their privacy. Applications can also be run entirely in-house, keeping private records safe and reducing regulatory compliance burdens.
- Failure tolerance: In contrast to cloud databases and blockchains, users can read and write data even when they’re isolated in a LAN or completely unconnected to the internet.
- Ease of use: There are no crypto wallets or network tokens to deal with — not even login credentials. Applications run on the user’s machine, accessed by nothing but a strong password. (In the future, applications can also be accessed via the web via Holo hosting.)
Blockchain strives to replicate Web2’s safety promises in a transparent way through universal consensus on a single data set. This has important uses, especially for tracking the ownership of scarce resources such as property (e.g., NFTs and land titles) and global naming (e.g., usernames and domains). Holochain is best used in situations where universal consensus isn’t strictly necessary and where ‘lightweight consensus’ is perfectly sufficient. This opens up a tremendous new realm of possibilities for decentralized applications, as listed above.
Our request to developers: Update your hApp!
Community Devs
As soon as all the tooling is updated to 0.1.0-beta-rc we want your help finding every bug, every crack, every rough spot, every performance bottleneck before we cut an official 0.1.0-beta release in January. So we’re asking for you to run all of your automated tests for your hApp against the release candidates. If you haven’t got automated tests set up yet, download the Tryorama test framework and learn how to write a test scenario. Then report bugs on the relevant repo — holochain, the JavaScript and Rust client libraries, or possibly even Tryorama itself.
If you want extra help writing tests, or want to discuss the nature of a bug, we have a Discord server you can join. Make sure you ask one of the moderators for the developer role. We'll see you there – happy testing!