NanoFusion is currently in an alpha release state. You are welcome to try it, but be aware that it definitely has some bugs and rough edges sticking out.
One of those rough edges is that I haven't bothered doing any production-deployment stuff yet. If you want to run it, for now you have to install nodejs and run a development server. Don't worry, it's not as intimidating as it sounds.
Assuming you have cloned the repository and have node installed, you can start the server component by doing:
npm install
npm start
In a separate terminal window, start the react dev server for the client component:
cd ./client
npm install
npm start
This will open up a browser window to http://localhost:3000
. The server component
runs on port 5000, but cors is enabled, so they can talk to each other just fine.
If you want to actually submit blocks to the network, you will need to configure the
Nano node HTTP endpoint. In this repository, it is pointing to my test node at
http://nanofusion.casa:7076
. When I first put this up, I left that server
running pretty wide open so others could test with it. Not good practice, but
we all know it's easier to test when things run wide open, and I wanted
any interested devs to have a good experience. I do NOT guarantee that this
node will always be available for testing, so you may have to run your own. If it gets
abused at any point (e.g. for excess work generation), then I will have to
take it down.
To work for an end-to-end test, the node has to accept actions like work_generate
that are blocked by default, so you will need to make sure that the node you use
has those available.
To set up the node endpoint, edit ./client/src/config.js
and set the value of nanoNodeAPIURL
to your node's address and port.
The eventual goal (especially in mix sessions) is to distribute the work-generation load across all of the participants in the mix session, using WebGL in the browser. Generating proof-of-work using WebGL has already been done here: https://numtel.github.io/nano-webgl-pow. But it will take some effort to integrate it into the multi-party signing process.