NOTE: Beginning this week, we’re trying something new with the Dev Pulse. We’re going to start publishing smaller pieces more regularly. We think this will make them both fresher and more digestible.

This week we rolled out an update to all HoloPorts. The most visible changes are in the UI of Elemental Chat, our demo app. Users now have ‘identicons’ beside their name; these auto-generated avatars are based on their actual agent ID in the Holochain network and can’t be forged. This is important because usernames are just labels; you can set yours to anything you like, even someone else’s name. If you’re talking to a friend and suddenly their identicon looks slightly different, there’s a good chance someone is trying to impersonate your friend.

This is an example of how cryptographically-secured data is a good first step to ensuring authenticity and accountability without the need for a central authority.

A screenshot of Elemental Chat in a web browser. Various channels are listed in a sidebar; messages in the current channel are listed in the main panel. Across the top, a banner says "This is a proof of concept application, not intended for full production use."

There are some under-the-hood changes to Elemental Chat as well. The network stats are calculated more accurately (you can see them by clicking that graph icon in the upper-right corner). And the real-time performance of chatting (using signals) has been tweaked to be more efficient; this should result in a small performance improvement.

Under the hood, the HoloPort’s operating system is using a new version of Holochain RSM. The reason this matters is that it prepares us for the next infrastructure milestone: hosted hApps! The speedups so far are modest, but we expect that other near-term updates will make Holochain substantially faster, fast enough to support thousands of users per app.

These future updates will include:

  • A switch to a new storage engine based on SQLite, the world’s most popular database engine. I know, I know, last year we said we were switching to LMDB because it was the best thing ever. And in comparable tests (hash table lookups) it does outperform SQLite. But we need more than just hash table lookups — we need fast querying with arbitrary filter parameters. This is especially important if we want to do neighbourhood sharding well. And sharding will lift the lid on scaling, allowing hApp networks to grow far beyond what traditional blockchains can reasonably handle.
  • The proxy server, which helps HoloPorts and Holochain users punch through home firewalls, is in the midst of a large rewrite. So far, benchmarks predict that it’ll be 5× faster for raw throughput, at the very least. Once this is deployed, it will enable us to see places where DHT gossip and validation performance need to be improved.

For developers, all of the above means that Holo hosting is on its way. The Holo Web SDK is being readied for public use as well, and we’re exploring the possibility of offering automated hApp testing services in a real hosting network on real HoloPorts.

Special note for hApp devs

The develop branch of Holochain has advanced quite a bit past main in the past month or two, bringing features like the hc dev tool and hApp bundles. For that reason, I’m now recommending that you use to install/enter the development shell. Also, take note that we might be changing installation URLs in the future, but we’ll always keep the installation guide up to date for you.

Cover photo by Paweł Czerwiński on Unsplash