Overlay Relay (OVR) Node

Static public IP address is usually needed to run OVR node.

1.Download the ovr code and compile

Recommended environment: Ubuntu 16.04, 18.04, 20.04

autoreconf -sfi
# "--enable-testnet" : Declare running in a test environment
./configure --enable-testnet
make
make install

2.OVR node component

namedescript
dnetdovr node daemon
dnetcliovr cli

3.Initialize the ovr node

# Initialize
#   "ovr"            : Declare role as ovr
#   "localhost:port" : Local ip and port (default port: 1213)
dnetcli init ovr [localhost:port]

4.Request "dnetOVR admin" to add ovr nodes to the ovr namespace

To deploy a private OVR node, you need to provide the node for dnetOVR namespace management. ovr nodes belonging to the same dnetOVC namespace will be clustered with each other.

Execute the "status" command to get the ovr node address:

# Returns the running status of the ovr node.
dnetcli status

# Return result description:
#   "role"     : ovr
#   "status"   : ovr running status (running/stop)
#   "reachable": The status of the ovr node in the dnet 
#   "ip"       : none
#   "name"     : ovr node name
#   "address"  : ovr node address (unique identifier)
#   "datadir"  : ovr configuration file directory
#   "vlan"     : none

Provide address to the dnetOVR admin, who will manually add it to the specified dnetOVR namespace.

After the OVR node is added to the dnetOVR namespace, it may take a while to synchronize the data, depending on the speed at which the blockchain generates blocks.

5.Start the ovr node

# Start the ovr as a daemon
#   "loglevel" : Run log level (default 0)
dnetcli start [loglevel]

Run "status" to view the current running status:

(For the return result, please refer to the previous "status" command return value description)

dnetcli status

Execute the status command, if the returned "status" property is "running", it means the ovr is already running.

If the newly added OVC resources in the dnetOVC namespace have been confirmed by the miners, the current OVC will be clustered with other OVC nodes in the dnetOVR namespace.

6.Get the list of dnets where the ovr is located

dnetOVR is managed by dnetOVC. When the dnetvlan node of the dnet is not directly connected to the peer node, dnetOVC assigns a suitable ovr to establish a connection with the dnetvlan for data forwarding.

Execute the getvlanlist command to find the dnet where the ovr node is located:

# Get the dnet where the ovc node is located
dnetcli getvlanlist 

# Return result description:
#  "Name"        : dnet id
#  "Alias"       : dnet alias 
#  "Status"      : none
#  "OnlineCount" : the number of online dnetvlan in the dnet
#  "OnlineNodes" : online dnetvlan nodes in the dnet
#                  (display dnetvlan virtual IP)
#  "OfflineCount": offline dnetvlan nodes in the dnet
#                  (display dnetvlan virtual IP)

If after a long period of time, the dnet where the ovr node is located cannot be obtained by executing the getvlanlist command, you can execute the syncvlan command to force synchronization from the blockchain once, and you can also ask the dnetOVC admin to confirm that it has added dnetOVR namespace.

# Force sync data
dnetcli syncvlan

After manually executing the synchronization command, you need to continue to execute the getvlanlist command to confirm the synchronization result.

Edit this page on GitHub