FUNC is a Cross-platform Service that makes it easy to spin up a node for Algorand or Voi and start participating in consensus.
Head over to the releases page and download the install file for your OS.
The installer does not include the node software. It is automatically downloaded from this open-source repo (Windows) or the official Algorand repo (Mac/Linux) the first time you open the app. This separation allows the node software to be updated without needing to update this app.
The app is a locally hosted webpage. After install, bookmark it for easy access.
In order to run it, you'll need to click "More info" on the "Windows protected your PC" dialog. Then click the "Run Anyway" button. The code is open-source so you can review it yourself or have a trusted friend do so.
When updating a previous installation, the installer will recommend to let it automatically close applications and restart them after install. You should allow it to do this.
After downloading the .pkg
file to your machine, run
sudo installer -pkg func_<version>_darwin-<architecture>.pkg -target /
If instead you wish to install the package by double-clicking the .pkg
file , you will have to follow these instuctions for bypassing unsigned packages:
- On your Mac, choose Apple menu > System Settings, then click Privacy & Security in the sidebar. (You may need to scroll down.)
- Go to Security, then click Open.
- Click Open Anyway. (This button is available for about an hour after you try to open the app.)
- Enter your login password, then click OK.
After downloading the .deb
file to your machine, run
sudo dpkg -i func_<version>_linux-<architecture>.deb
Then visit the locally hosted webpage at http://localhost:3536 (for remote access see notes below)
The app is a Node Service Manager - uninstalling it will not remove node services that you create with it. If you wish to remove everything, use the app to Remove Services and even Delete Node Data before uninstalling the app.
- Creates and starts a new Service to run the Node
- Only available when Service does not exist
- Starts Service that runs the Node
- Only available when Node is stopped
- Stops Service that runs the Node
- Only available when Node is running
- Removes Service that runs the Node
- Only available when Node is stopped
- Change your node's Port, DNS Bootstrap, and P2P settings
- Link your node to Nodely Telemetry Service
- Once enabled, you'll get a link to your node's dashboard on Nodely
- Only available on Algorand network when Node is running
- Configure the directory for your node data
- You will need write permission to the new path
- Only available when Service does not exist
- Deletes all node data, including any participation and KMD keys
- Only available when Service does not exist
If you want to participate in consensus, you'll need to generate a Participation Key for your account and register that key with account to bring it "online".
Read more about how Participation Keys function in the Algorand Consensus Protocol
Here's how to do it:
- Wait for your node to sync.
- Connect your wallet.
- Click the + icon in the Participation Keys section.
- Click Generate and wait. It takes a few minutes for your node to generate the Participation Key.
- Once the key is generated, click on the Status dot to Register the key.
- Your account should now be Online, and your Participating in Consensus light should be green.
-
The app is a locally hosted webpage, http://localhost:3536. After install, bookmark it for easy access.
-
The node will restart automatically if your computer reboots, but you will need to configure your computer to not go into Sleep mode in order to keep the node running 24/7.
-
If you Stop a node and restart your computer, the node will restart automatically. You must remove the service if you want the node to not restart. Removing the service preserves the node data; deleting the data is a separate step.
-
If you want to access the site from another computer on your network, you will need to open the following ports:
- 3536 AND 3537 - FUNC UI and API
- 8081 - Algorand algod
- 8082 - Voi algod
-
The
algod
ports are configurable through the UI, and you only need to open the ones for the networks you use -
This should ONLY be done on a local network - DO NOT open these ports to the internet
-
If you want to be able to use WalletConnect wallets (e.g. Defly, Pera) while accessing the site via IP, you'll need to use port 3537 which serves the site with a self-signed cert over HTTPS. You'll also need "Allow Insecure Content" for the site in your browser settings so that it can communicate to your node over HTTP.
You can fork the repo and let Github Actions do the build for you, or you can run:
- LocalPublish.ps1 (Windows)
- local-publish.sh and create-package-pkg.sh (Mac)
- local-publish.sh and create-package-deb.sh (Linux)
Dependencies include .NET Core 8, Node.js, pnpm, and Inno Setup.