Bootstrap a hApp in One Command
Holochain Dev Pulse 67
Today we’d like to share a sneak preview of a new developer tool we’re working on: hn-happ-create! We’re excited about it because it’s the first step towards our vision of empowering anyone to build a fully functional hApp — both DNA and GUI. We’re also coming close to releasing a HoloPortOS with a version of HoloFuel for hosts to test with each other and native Holochain users. We’re a quick moving ship at the moment so we’ll have new updates on all the below — and more — very soon.
- Bootstrap a hApp in one line with hn-happ-create
- HoloFuel nearing wide testing with upcoming HoloPortOS release
Bootstrap a hApp in one line with hn-happ-create
In the beginning… there was a handy little tool called hc-scaffold. It was a web-based GUI that let you create the DNA of your hApp without touching a line of code. Since then, we moved our focus to the Rust rebuild of Holochain and put the RAD tools on the back burner. But we always intended to create a similar tool for the new version of Holochain.
This week we’d like to share a preview of our first prototype for a new scaffolding tool. It creates a fully functioning note-taking hApp, both DNA and GUI, with only one command. You can explore the generated code, use it as an inspiration for your own design, or modify it to suit your needs. We’d be grateful if you tried it out and shared your thoughts and bug reports!
Why are we doing this?
The original scaffolding tool was sparked by our vision to make it easy for any group of people to create and hold their own online spaces in ways that work for them. This proof-of-concept relights that spark for the new version of Holochain. Our immediate aim is to see more hApps being built, which means more Holochain adoption, which means more empowered people. Here’s what we want to enable:
- App devs who are new to Holochain and Rust can get going quickly with a template that shows them how Holo’s own hAppy team does things.
- Experienced hApp devs can give their keyboard a rest and let their computer generate all the boilerplate code for data storage, retrieval, display, and interaction.
- Non-devs can create collaboration tools for their teams and communities without deep programming knowledge.
This prototype is a partial answer to the first goal. More below on what’s next.
A tutorial — getting started with hn-happ-create [at time of print]
- Open your terminal.
- Install the package manager for the Holochain development environment, if you haven’t already:
$ curl https://nixos.org/nix/install | sh
- Enter the Holochain development environment via this develop branch:
$ git clone https://github.com/holochain/holonix.git && cd holonix && git checkout develop && nix-shell
- Create your app:
$ hc-happ-create my-notes-app
- Run your app:
$ cd my-notes-app
$ yarn start
That’s all there is to it!
Once it’s built, you can explore its codebase to see how Holo’s own hAppy team designs their apps. Its front-end uses an opinionated stack: React for the UI and dev tooling (courtesy of create-react-app) and Apollo GraphQL for the data access layer. Read more in this forum thread.
(Note: We’re trying to make a point about how easy it is, but we have to be honest about the fact that Windows and macOS Catalina users will have a couple extra steps. Read our install guide for more info. Also, the first run may take a while due to dependency downloading and compilation.)
As cool as this is, it’s only useful if you want to create a note-taking hApp or you’re prepared to dig into the code. But it’s going to do a lot more in the future. Next, we’re working on:
- Rolling the tool into the ‘blessed’ Holochain development environment available at https://holochain.love.
- Releasing a version that will custom-build a full hApp — both DNA and GUI — from your own GraphQL schema definition.
- Creating an easy-to-use GUI in the style of the original tool, which is when anyone will be able to create their own hApps.
HoloFuel nearing wide testing with upcoming HoloPortOS release
Our teams have been working around the clock (literally) to roll out the next stage of HoloPortOS Alpha testing, in spite of serious global concerns. We’ll share more about that work very soon.
With the upcoming update, HoloPort owners will be able to log into their HP Admin dashboards and exchange ‘Test Fuel’ with each other and native Holochain users. HoloFuel will be the first hApp available on HoloPorts, which is a natural choice given that we expect it to power a marketplace for distributed app hosting. We’re grateful for the hard work of all product and testing teams, plus some dedicated volunteers, who have been helping find and eradicate bugs and performance issues in preparation for the release.
- Holochain Core: 0.0.45-alpha1 | Changelog
- Holonix: 0.0.71
- Tryorama: 0.3.3
- Holoscape: 0.0.8-alpha (contains Holochain Core 0.0.45-alpha1) | Download
Blessed (available via https://holochain.love)
- Holonix: 0.0.62
- Holochain Core: 0.0.42-alpha1
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.