In our quest to create a sweet local events app, we ended up making something that enables people to create interoperable, cross-platform, local-first p2p apps.
We’re calling it the p2p Shipyard. A toolset to help you ship your local-first p2p apps to the world.
Think of it as a big, magical shipyard, where you bring a house (local-first p2p app) you built, and then a whole bunch of twinkling wooden nanobots (p2p Shipyard) build a beautiful hull around it, so that it can go wherever (any platform), and to whoever (end-users), you want. . .
Or, maybe you bring two houses, a grocery store, and a shed to the shipyard for those cute lil’ nanobots to build a hull around for a cool bigger boat with more spaces (an interoperable composite app).
The p2p Shipyard is a toolset which enables:
Tauri Apps to access to secure local-first p2p data storage, networking, and app integrations
Holochain Apps to be published and functional across platforms (including mobile)
Local-first p2p frameworks and decentralized protocols with plug-and-play dev environments to build Tauri plugins for interoperability and composability
We see the p2p Shipyard as a powerful piece of infrastructure for Tauri, critical infrastructure for Holochain, and a foundational step towards interoperability in the p2p and decentralized ecosystems.
Use it!
The p2p Shipyard is currently Source-Available, and once our retroactive crowdfunding goal is reached, it will be Free and Open Source, Forever.
Until then, please reach out to us to work out a contribution towards the retroactive crowdfunding goal in exchange for a license to use it. We’re committed to making it accessible, so don’t hesitate to reach out.
Once the retroactive crowdfunding goal is met, no one will ever have to ask anyone to use it again.
Here is the developer documentation.
If you need support for integration, bug fixes, or feature requests for the p2p Shipyard, we will be offering support tickets here.
Support with ETH or HOT:
Ethereum Address: 0x848e32fA8FBf3402C0d191E918cE50103eE76A4D
Ships Ahoy!
Guillem, Eric and Viktor @ darksoil studio
Questions & Answers
How is this useful for Tauri?
Tauri makes it easy to make locally installable apps, and its ecosystem is thriving with an abundance of applications and a diversity of use cases.
The p2p Shipyard allows Tauri apps to access peer-to-peer functionality and cryptographic security without the need to create or maintain a traditional centralized datastore.
P2p Shipyard Enables Tauri Apps with:
Interoperability with Holochain
Tooling for more modularised and server-less products
Secure and cryptographically signed distributed data storage where needed
Nix development environments so that building Tauri apps is easy and reproducible
How is this useful for Holochain?
Holochain is a p2p framework for building distributed apps.The shipyard takes the whole of the Holochain API, which is quite complicated, and compresses it down into a much simpler API with “install web app”, “update web app,” and “open app.”
The p2p Shipyard makes it super easy and saves a ton of time for Holochain developers to build apps and get them into end-users hands.
p2p Shipyard enables Holochain with:
Interoperability with Tauri and it’s ecosystem
A unified codebase that can be published and operate across platforms (Mac OS, Windows, Linux, Android, and soon iOS)
Mobile functionality
Automatic configuration of the development environment for Android
How is this useful for interoperability between p2p frameworks and Decentralized Protocols?
There are a number of p2p frameworks and Decentralized protocols in the Web3/DWeb ecosystems, and there isn’t yet a strong foundation for these frameworks to interoperate, or to be accessible by a globally adopted user-base. The p2p Shipyard is a step towards that foundation.
p2p Shipyard enables p2p technologies and decentralized protocols with:
Tauri-plugin-holochain, the first piece of the puzzle to build interoperable p2p apps and dApps that are cross-platform and mobile ready
Plug-and-play development environment, so that all environment configuration is taken care of for you
Easy Mac OS to Android rust compilations
Can we rely on this?
Projects need reliability of the p2p Shipyard. To ensure that the p2p Shipyard is maintained, we offer support tickets to keep the p2p Shipyard up and running. After the retroactive crowdfunding goal is met, we will still welcome contributions and will create additional pathways for ongoing support besides the ticketing system for direct needs.
When holochain mobile?
Android
Holochain works on Android now, with the following limitations:
Every time the Android app is opened, holochain takes ~10 seconds to boot up, so there is a long loading screen (https://github.com/holochain/holochain/issues/3243).
“delete_link()” can’t be called on links that were created by a node running in an Android device (https://github.com/holochain/holochain/issues/3901).
iOS
Tauri also publishes to iOS, but there is one hurdle left to cross before Holochain works on iOS too. The problem here is that iOS does not allow an app to install further code which is needed for Holochain applications. Wasmer has already implemented an experimental solution for this by compiling WASM on-the-fly. This work needs to be integrated back into Holochain core and once complete, we will have functioning iOS builds too.
What are the components of the p2p Shipyard?
Tauri-Plugin-Holochain: convert a Tauri app into a holochain runtime
Scaffold-tauri-happ: convert an existing hApp to an end-user, cross-platform app
Scaffold-holochain-runtime: create a new project from scratch that can install and manage multiple Holochain apps (hApps)
Nix devShells: development environments for building holochain, Tauri and android apps
How do I use the p2p Shipyard?
We see at least 3 ways that you can use it:
Create end-user ready desktop and mobile apps
Take your Holochain app, put it through the Shipyard and out comes a cross-platform app (including mobile end user app they just install and use).
Create runtimes
Create a runtime environment for installing many Holochain apps. This creates a holding space for running lots of Holochain apps together in one place.
Augment your Tauri app
As more and more holochain applications are developed, some of these will be able to be inserted into your existing Tauri app so that you can have functions like p2p chat, file-storage, kan-ban or calendar for free in your apps.