Welcome to the Holochain Forum!
If you are new to Holochain, you will want to read our introductory resources. There are many questions that can be answered by looking through the Core Concepts, FAQs, Project Onboarding, and Get Started with Holochain Development Tools pages.
If you have further questions, please feel free to join the discussion on an existing topic or create a new one. Always remember to abide by the Code of Conduct when posting, and try to avoid creating topics that can be answered by the links below.
Forum Values and Guidelines
As with any online community, this forum is what we make it. So let’s make it a welcoming, respectful place where important development happens. Read our full Code of Conduct.
What is Holochain?
Holochain is a peer-to-peer framework for data sharing, storage, and validation. It’s a free libre open source software (FLOSS) implementation of this framework written in Rust + WASM.
Holochain is part of a much larger vision for distributed computing, enabling quantum leaps in our collective intelligence and providing the ability for groups to organize themselves on all scales.
Find out more about Ceptr here.
Holochain is a P2P solution to today’s need for servers:
- Data storage and sharing through application-specific DHT (think Bittorrent on a private network)
- Cryptographically secure data validation through WASM
- An agent (user) centric security model for rule enforcement
- Direct messaging between agents (users) to coordinate sharing data
Holochain does NOT help with many of the things we do on servers for historical/convenience reasons. Holochain does NOT offer consensus algorithms (FIFO queues, blockchains, etc.). Single Page Applications (SPAs) with microservice infrastructure and key/value, or graph-style databases are easiest to port.
As little as possible should be done in Holochain by design. You can and should use your favorite language/framework for 95% of your application. Everything in Holochain code is implied to be on the critical security path; it should be easy to see what to audit. With Holochain, it’s a fat UI, but a skinny back-end.
Holochain is designed as a data integrity engine for distributed applications. Unlike a distributed database, there are no methods for users to directly interact with the data because this would bypass application-specific validation rules. All interactions happen through the application code, which enforces the necessary business rules, logic, or restrictions of that particular application.