Integration Efforts & 5000 Nodes
Holochain Dev Pulse 64
This week’s Dev Pulse is the first since a brief hiatus that we took after our reset. Through an unbroken run of 63 weeks, the team responsible for Dev Pulse created the first regular, dependable voice for our organization and the things happening inside it. Though we’ve heard how much you’ve missed this institution of all things Holochain and Holo dev, we hope that some of the exciting updates below will help make it all feel worth it. We’re especially thrilled to report Holochain is now fast enough to support 5000 nodes operating simultaneously in one hApp. This feels like a harbinger of more to come. In the very near term we want to give a shout to all of our incredible community organizers who are rapidly growing an ecosystem of next-level Holochain devs. You’re truly doing great things.
- Integration Efforts Since Reset
- Holochain: Deep Performance Work (and 5000 Nodes!)
- Community Hosts Biggest Dev Camp Yet
- Developer Community Collaboration Calls
- Holo Host: Preparing for Next Round of Alpha Testing
- Holochain Featured in “Rust in Blockchain” Newsletter
Integration Efforts Since Reset
As you may have heard, over the past several weeks we’ve been in the process of a significant organizational reset. While part of this reset involves aligning expenses with budget, it goes deeper than that. We’re aligning the entire organization around a recommitment to agile practices, and delivering real, immediate needs to our dev community and customers at all times. In the last weeks we’ve begun synchronizing our planning cycles across development, communications, marketing, customer support, and developer support. At the beginning of each cycle, our intention is to listen deeply to both internal and external voices as we ask each other: “what’s the next most important thing we can work on?” Though we’ve always been in a continual process of learning and improving how we work together, we believe this latest iteration will markedly upgrade the full product loop from inside our team, out to you, and then back again to our team. We aren’t finished with these latest changes to the ways we work, but the development teams are already enjoying big improvements as they unify their to-do lists, dev cycles, and planning meetings.
Why should this matter for you, dear reader? If you’re an application developer, project founder, community organizer, or open-source contributor you’ll feel this directly. You’ll be pleased to know that your voice will be present at the table, right beside our internal teams, HoloPort owners, and HOT hodl-ers. We’ve created a new team, Service Operations, whose job is to deeply listen and champion the needs of every one of you. We’re not just improving integration between teams; we’re setting an intention to become more responsive to the whole community. Ultimately we want to remove blockers to your success, because when you win, everybody wins.
We don’t yet know exactly how this will look or how many iterations it’ll take. And we know that we need to carefully balance between sometimes competing needs. And because we’re humans, making software, that is running on hardware in a world with real financial constraints, it is by nature a complex decision matrix. So depending on your perspective and needs it might sometimes feel like we’re giving more attention to this chunk of software or that piece of the network. But the reality is we need to deliver on all of our promises to a diverse group of stakeholders for us to succeed in our long-term vision. Through that process we want to share that we’re committed to supporting the needs of every stakeholder, not just a few. The highlights below hint a little about what this means. We’ll continue to share more as we work on things like a responsive, iterative roadmap and regular calls for input from devs, community leaders, and hosts in the ecosystem.
Holochain: Deep Performance Work
You’re probably curious about what’s going on with Holochain, the open-source P2P framework itself. We haven’t announced any new features for a while. That’s because we’re doing a lot of ‘sausage making’: the uninteresting, necessary, sometimes unpleasant work that goes into making a tasty product.
“Everybody likes sausage but few people like to see how [it] is made…”
— Anthony Bourdain, with apologies to vegetarian readers
Right now, we’re digging deeply into performance profiling on all parts of Holochain — core, conductor, and the sim2h network simulator. We’re doing a ton of research into best practices, drawing on wisdom from Netflix and other projects that have already tackled performance tuning in distributed systems.
Our goal since August has been to make Holochain fast enough to support 5000 busy instances operating simultaneously in one app. This week, we finally reached that number with a stress-test app!
Now we’re analyzing Holochain’s performance with real-world apps like HoloFuel. We’re identifying some potential areas for improvement, both in latency of individual actions and in sim2h server throughput. (If you’re interested in the grittier details, you can follow our work in the holochain-rust issue tracker, particularly this pull request.)
We run our performance tests with Tryorama and TryCP, which let us spin up networks in any configuration of machines, conductors, and DNA instances. These tools are proving incredibly useful for simulating real-world scenarios and gaining insight into how Holochain handles them. This is just what we need to make sure Holochain is ready for real hApps, including the first ones to be deployed on the Holo host network. Make sure you learn about how to use Tryorama and TryCP to test your own hApps — start by reading the introduction and following the tutorials.
But we haven’t completely stopped new development. We’ve released version 0.0.7 of Holoscape, with bug fixes and conductor binaries updated to 0.0.42-alpha5. (Take note of a breaking change that will require you to edit any existing conductor config file.) And you can look forward to pagination and sorting of links queries in a future release, along with a new WebAssembly engine that massively improves DNA performance and shrinks DNA package size. This new engine also fixes several critical memory bugs (e.g. now you can allocate up to 4gb of memory for arguments to wasm functions whereas the old limit was closer to 640kb) and it is generally simpler to understand.
Community Hosts Biggest Dev Camp Yet
Community organizers from around the world are currently hosting the sixth Holochain DevCamp. The theme is how to build a hApp from start finish and the sample app participants are building is a distributed clone of Udemy. We’re honored and delighted by the love and effort the volunteer community has put into this course, and the turnout is huge — over 200 people have registered! This has sparked a lot of good conversations in the developers’ forum, which is turning into a lively community meeting, co-learning, and app-building place.
Developer Community Collaboration Calls
Leaders in the Holochain developer community are also organizing a regular call to foster closer collaboration among projects. People from Holo are joining the call to strengthen the feedback loops between the community and internal dev teams. We’re just getting started with a small group; expect to see signs of this work in the coming months, along with invitations to get involved. In the meantime, we invite you to be part of two important conversations about standards for shared libraries and good candidates for libraries created by the community. What conversation do you want to start?
Holo Host: Preparing For Next Round of Alpha Testing
In the current stage of closed Alpha testing, we’ve rolled out all the components needed for HoloPorts to boot, update the OS, and register to the Holo network. Thus far we’ve had over 750 HoloPorts registered in 50+ countries, out of 1500 hundred total that have been shipped. The next two releases of the HoloPortOS will include fixes for some of the bugs we’ve seen. They will also enable HoloPort to login to HP Admin and play with a test version of HoloFuel. We’re excited about this step, because it finally puts real hApps into the hands of the people who will be hosting the Next Net. Our Service Operations team will continue to be the ears of the org, listening to hosts’ successes and struggles as they use hApps for the first time.
Featured in Rust in Blockchain Newsletter
We want to thank the “Rust in Blockchain” newsletter for featuring us in their most recent issue. Sure, Holochain isn’t a blockchain, but we do share some similarities to blockchain and other DLTs. It’s good to be part of the conversation with other programmers working on decentralization, especially because many of us seem to be converging on the same technologies like Rust and WebAssembly.
Holochain Core Concepts and Tutorials
We want to hear from you! Help us create documentation that would benefit your understanding of Holochain and aid you in building apps. If you have already read, explored, or completed the Holochain Core Concepts and Tutorials, we would appreciate your input through this quick survey! Please take a moment to tell us about your experience and how we might help you further!
- Holochain Core Released: 0.0.42-alpha5 | Changelog | Next: 0.0.43-alpha1
- Holoscape Released: v0.0.7-alpha (TBD)
- Holonix Released: v0.0.61
- Tryorama Released: v0.3.1
Building with Holochain? We want to hear from you!
Are you building with Holochain? We would love to connect and hear more about your app/platform. Please, take a few moments to fill out this survey! Our goal is to list all the projects building on Holochain on our forum.