Skip to content

Latest commit

 

History

History
47 lines (37 loc) · 2.18 KB

GettingStarted.md

File metadata and controls

47 lines (37 loc) · 2.18 KB

Getting Started

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.