A Flutter application to easily manage and control your Algorand nodes

  Flutter App

Algorand Node Companion App

Algorand Node Companion App is a mobile, web and desktop application that can manage, operate and track the status of your Algorand node. The goal of the app is help new users easily set up their Algorand Node and provide a uniform interface to easily participate in consensus, all straight from the application.

Features

  • Start & stopping node
  • Updating node
  • Sync using Fast-Catchup
  • Participating in consensus
  • Telemetry
  • Switching network
  • MainNet Metrics Dashboard

Supported OS

Algorand Node Companion App

The Algorand Node Companion App securily stores your passphrase in an encrypted box and the encryption key is stored in the Keychain for iOS and KeyStore for Android.

Operating SystemSupportedEncrypted
Androidheavy_check_markheavy_check_mark
iOSheavy_check_markheavy_check_mark
Webheavy_check_markx
Windowsheavy_check_markx
MacOSheavy_check_markx
Linuxheavy_check_markx

Algorand Node Bridge

Operating SystemSupported
MacOSheavy_check_mark
Linux (tested on Raspberry Pi 4)heavy_check_mark
Windowsx

How does it work?

The Algorand Node Bridge (ANB) serves a WebSocket server that accepts JSON-RPC commands and translates them to shell commands that are executed on the node. ANB should be installed on the platform where the node is running.

The Algorand Node Companion App (ANCA) opens a full-duplex communication channel over a single TCP connection to the Algorand Node Bridge. ANCA is optimized for mobile, but can also run on web and desktop (Windows, Mac & Linux) – Only tested on Android, iOS & web.

Instructions

Install Algorand Node Bridge

The Algorand Node Bridge should be installed on the operating system where your node is running. Find the latest version for your OS on the Releases tab. It is recommended to run ANB with a self-signed SSL certificate

# Create a self-signed x509 certificate
openssl req -x509 -sha256 -days 365 -newkey rsa:2048 -keyout anb_pk.pem -out anb_cert.pem

# Make and change directory to anb
mkdir ~/anb
cd ~/anb

# Download the latest version for your OS - See releases
wget [URL-TO-EXECUTABLE]

# Change permissions
chmod 544 anb

# Start a secure Algorand Node Bridge - See Arguments for all options
./anb --cert .ssh/anb_cert.pem --identity .ssh/anb_pk.pem --password pkpassword --verbose

After you run the Algorand Node Bridge, the console will print something like the following:

Serving at wss://192.168.66.157:4042 Authorization token: xxxxx

You can now use the Algorand Node Companion App to connect with the Algorand Node Bridge and use the long-lived authorization token for a secure connection.

Arguments

These arguments can be specified when running the node.

ArgumentAbbreviationDescription
–ip-address-aThe ip address to connect with. Defaults to the first ipv4 network address.
–port-pThe port to connect with. Defaults to 4042.
–working-directory-dThe directory where the node lives. Defaults to $HOME/node.
–cert-cOptional public key certificate
–identity-iOptional private key
–password/The password for the identity/private key file.
–token-tA long-lived authorization token. Defaults to a random, cryptographically secure token.
–verbose-vA flag to displays or gets extended information

Build from source

You can also build the Algorand Node Bridge from source yourself and compile it using the Dart SDK. Get the Dart SDK

git clone
cd algorand_node_bridge
dart run bin/bridge.dart

You can also specify the ip address, port and debugging options:

dart run bin/bridge.dart -i 127.0.0.1 -p 4042 -d

Or compile the source:

dart compile exe bin/bridge.dart -o bin/anb
cd bin
./anb

Roadmap

  • Node discovery
  • Register offline
  • Manage & renew participation keys
  • Sign transactions using Native Algorand Wallet, AlgoSigner & MyAlgo Connect
  • Tests

Video

IMAGE ALT TEXT

Changelog

Please see CHANGELOG for more information on what has changed recently.

Download Algorand Node Companion App source code on GitHub