Skip to content

Staking Resources

Dheeraj Manjunath edited this page Mar 18, 2021 · 19 revisions

Service providers can run a hosted content node or discovery node and register it via the service provider dashboard DApp to provide services to the Audius protocol. This page will provide all the resources necessary to walk you through running a node, registering it via the dashboard DApp and how to perform upgrades and other maintenance.

Before running

Running a hosted content node or discovery node, in addition to requiring compute and storage, requires the following:

  • a public DNS endpoint with SSL support
  • a stake of AUDIO tokens (our team can help, see note here)
  • operations support to enable high uptime and availability

Minimum system requirements to operate a discovery node or content node:

  • datacenter-quality internet connection (eg. AWS, GCP, or similar)
  • 16GB ram
  • 8 vCPUs (Must be recent, eg. 2015+ vintage from AMD/Intel)
  • 250GB SSD storage for discovery node or 2TB SSD storage for content node
  • Ubuntu 16.04 LTS or higher

Running a node

Wallet Management

Before running a service, it's important to understand wallet management. There are two kinds of wallets: "owner wallets" and "delegate wallets". Owner wallets are generally the wallets holding AUDIO tokens and are the source where tokens are staked from. "Delegate wallets" are wallets that are registered on chain and also exposed to your service via environment variables. A public key and signature is returned from each service based on the delegate wallet. The private key is never returned in responses.

The intention is to be able to verify identity of a service based on the wallet registered on chain. This allows services to prove their own identity as well as verify the identity of other nodes in the system. Having two separate wallets for holding tokens vs establishing identity keeps the separation between a wallet with value vs a functional wallet.

It's recommended that even if you have the same "owner wallet" for all your services, but use a distinct "delegate wallet" for each service.

To set these values on a content node, see the instructions here.

To set these ons a discovery node, see the instructions here.

Running a node

The guide to setting up an Audius node can be found here.

Registering a service

Once you have the service running, the next step is registering the node on the dashboard.

NOTE - Registering a node requires AUDIO tokens. There is a grant system to support nodes on the network, reach out here once you have a node running if you'd like to apply for a grant.

One your node is running and your tokens have been distributed, visit https://dashboard.audius.org with MetaMask configured with the wallet that stores your AUDIO tokens.

  1. Click on Services
  2. Click the Register New Service button (If you don't see this button, make sure Metamask is configured with Eth Mainnet and you have connected it to the dashboard site)
  3. Select whether you're trying to register a Content Node (formerly Creator Node) or Discovery Node (formerly Discovery Provider)
  4. Enter a Staking Amount
  5. Enter a fully qualified domain name in the url bar
  6. Enter a Delegate Wallet Address. This is different from the wallet containing your AUDIO tokens
  7. Click the Register <Service type> button

Upgrading services

Services will be versioned and upgraded periodically to introduce new features and fix bugs on a regular cadence as well as high priority bug fixes when necessary. Service providers will be notified via email when new versions are released. Here are instructions to upgrade a content node and discovery node

Claming staking rewards

Claims can be made via https://dashboard.audius.org by visiting the page for your service. If a claim is available, a "Claim" button will be displayed that allows you to submit the claim transaction.