A forkable template for spinning up cross-platform holochain based apps

Hi all,

If you are familiar with Acorn, you will be familiar with the fact that we have been proving out a system for shipping one-click launch normal end-user applications, that bundle and use holochain “under the hood”. E.g. the downloadable executables here: Release v0.6.0-alpha · h-be/acorn · GitHub

If you’re interested in doing something similar, we’ve set up a template project for you, which does everything including configure Github Actions to run your cross-platform builds.

It’s good for development, has unit testing framework in place, and more. :stuck_out_tongue:

Hope you’ll check out and if you release any app with it, or have any questions, let us know!

Here it is: https://github.com/Sprillow/electron-holochain-template


cc @pauldaoust

1 Like

Thank you! This may prove useful during my hApp-building. I’m trying to work around a specific constraint, and maybe this is the place to ask for guidance!

I’m making a small retro game that uses Holochain to handle multiplayer functionality. I’m building it with AssemblyScript in the WASM-4 virtual console, which allows games to be written in any wasm-compilable language, but under constraints that emulate retro hardware. So the size and RAM are both limited to 64 kB, the resolution is limited to 160x160, only 4 colors can be displayed at a time, etc. The size limit rules out the possibility to use either the TS or Rust conductor_api directly in the game, considering the dependencies. I can think of a few workarounds:

  1. Create a “hub” app for runtimes that are too small for the conductor_api. This app would exchange an object containing the parameters with each runtime, and use the conductor_api to make the calls. Some neat features can be added, such as achievements, game history, and an integrated playground view of one’s source chains.
  2. Create a minified conductor_api? I’m not sure about the considerations made in the existing versions, and whether this is possible.
  3. Interface with the conductor directly.

I’d like to stay away from the lower level parts of the conductor, if possible. Any tips? Thank you in advance!

cc @guillemcordoba