Run Basic Provider Node

This subsection covers how you can run a simple data provider node to serve data to Band Protocol. It will primarily cover how to run the node. However, to be eligible for a data provider slot, you will also need to acquire dataset tokens and gain appropriate amount of stakes.

Requirements

Beta Software

Provider node is not on its public release yet and will require building from source. APIs and interfaces may change without prior notices. We are working on its binary and Docker releases. Expect them to come soon!

To build and run provider node, the followings are required.

  • A computing machine with internet connection and can be reached through a HTTP request.
  • Go version >= 1.12

In addition, you will need to contact Band Foundation to add your node's URL to the coordinator's registry. This requirement will disappear as Band is moving towards a decentralized, leaderless provider network architecture.

Installation

Download the binary of provider node.

$ wget https://github.com/bandprotocol/band/releases/download/0.0.1/node_linux_amd64

Setup Configuration File

Band's provider Next

  • port: The port that this provide node will listen to the coordinator's request
  • privateKey: Your private key for signing data
  • drivers: The driver for each type of dataset. Note that different kinds of drivers take different types of arguments. Some drivers are higher-order and contain child drivers. Band Protocol provides various types of builtin drivers below. Note that we regularly fix bugs, update, and make changes to this list.
port: 5000
privateKey: YOUR_PRIVATE_KEY
drivers:
  "0xa24dF0420dE1f3b8d740A52AAEB9d55d6D64478e": # Dataset Address
    name: AggMedian # Handle the query with "AggMedian" driver
    children: # "children" arguments of "AggMedian" driver
      kraken:
        name: Kraken
      gemini:
        name: Gemini

Run Provider Node

Lastly, to run a provider node, simply run the binary with the full name of the configuration file (without yaml extension).

$ ./node_linux_amd64 node

Available Drivers

The following is the list of currently supported drivers.