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-testdnet
make
make install

2.OVR node component

namedescript
dnetdovc node daemon
dnetcliovr cli

3.Initialize the ovr node

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

4.Request "dnetOVR administrator" 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 virtual group 
#   "ip"       : none
#   "name"     : ovr node name
#   "address"  : ovr node address (unique identifier)
#   "datadir"  : ovr configuration file directory
#   "vlan"     : none

Provide address to the dnetOVR administrator, 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.View the group where the dnetOVR resource node is located

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

Execute the getvlanlist command to find the virtual group where the OVR node is located:

# Get the virtual groups where the ovc node is located
dnetcli getvlanlist 

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

If after a long period of time, the virtual group 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 administrator to confirm that it has joined 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