In our last update Friday we shared about the improvements and testing related to hosted Elemental Chat including real-world reliability, user experience, and scaling. What we didn’t mention is all of the really exciting work getting completed a layer deeper. Here’s the recent Holochain upgrades:
- Upgrade to Wasmer 1.0: This brings greater stability, more features, faster app load times, and different memory handling (where we found a memory leak which they have patched for us upstream. Thanks Wasmer team!) Next steps: CPU metering for holo hosting, and meter budgets to prevent running infinite loops in apps.
- Database switchover: The move from LMDB to SQLite is now complete enough that the Holo hosting team is testing in HoloPorts. The switch to slower key lookups has been more than offset by having indexing to build/filter data sets faster. This change also enabled encrypting data at rest with SQLcipher.
- Gossip upgrades: We’ve made performance optimizations to Holochain’s gossip algorithms by adding Bloom Filters for fast state matching and lightweight lookups to see if we’ve already integrated hashes.
- Fixes to Holonix: Updates to Rust 1.52, fixes to dependencies for builds on MacOS, and caching of binaries for faster installation and build.
- Sharding: The switch to SQLite was the big change we needed to take to build sharding. We’ve switched dbs, implemented indexes, and are about halfway through the tasks involved in creating sharding.
- Clean-up: We’ve fixed lots of small bugs and performance bottlenecks in response to issues discovered by the Holo team’s scalability testing on HoloPorts.
These represent both work related to the continued build out of Holochain, improvements based on learnings from Elemental Chat, and integrations necessary for both Holochain core and hApp layers.