Skip to content
Brian Woods edited this page Nov 6, 2018 · 5 revisions

Your disgo client come ready to connect to the most recent version on the Dispatch network. If you want to connect to a different network or change some of the specific functionality of your node, you can make changes in your nodes configuration. When you first launch a disgo node, a config folder will be generated in the main repo. This folder contains:

  • config.json - Configurable information about your disgo node. More details below.
  • account.json - Basic information about your address
  • key.pem - Your auto-generated private key file

The config file itself contains quite a few fields that lets you do things like update your address, connect to another network, and configure how much work your node does. The config.json fields are:

  • httpEndpoint - Defines the user facing endpoints for things like querying the seed for delegate addresses and sending transactions to delegates.
  • grpcEndpoint - Reserved for inter-delegate communication.
  • grpcTimeout - The timeout for how long you as a delegate will wait for other delegate responses.
  • seedAddresses - Defaults to "seed.dispatchlabs.io". Change to connect to the seed node of another network.
  • seedEndpoints - Defaults to 1973. Change to connect to a different port on the seed node of the network.
  • isBookkeeper - (true/false) Defaults to true. Determines if your node executes transactions it receives or if they wait for a receipt/result from a Bookkeeper.
  • useQuantumEntropy - (true/false) Added to be forward compatible with planned quantum functionality.

Rate Limiting

Disgo uses traffic volume to determine how long Hertz spent to perform a transaction is held. The range defaults from 1 second to 24 hours. It is possible to configure the rate limits for testing purposes. The defaults are

   "rateLimits": {
      "epochTime": 1538352000000000000,
      "numWindows": 240,
      "txPerMinute": 600,
      "avgHzPerTxn": 13162215217,
      "minTTL": 1000000000,
      "maxTTL": 86400000000000
   }
  • epochTime is the number of minute (in nanoseconds) since January 1st 1970 Midnight. For reference, one second is 1000000000 nanoseconds.
  • numWindows are the number of windows considered when determining which direction traffic is headed. It is defaulted to 4 hours of 1 minute windows.
  • There is a base Hertz value below which the time that Hertz is held is minTTL. To determine this value we use the formula: txPerMinute * avgHzPerTxn.
  • minTTL is the minimum time Hertz will be held after a transaction. It is set to one second in nanoseconds
  • maxTTL is the maximum time Hertz will be held after a transaction. It is set to 24 hours in nanosecond
Clone this wiki locally