Networking
Add Peer
Add a peer to the list of known peers and attempt to connect to it. Password protected like the Debug Operations. POST only.
Request:
- requestType is addPeer
- peer is the IP address or domain name of the peer (plus optional port)
Response: refer to Get Peer
- isNewlyAdded is true if the peer was not already known, omitted otherwise
Add Peer Example
http://localhost:27876/nxt?
requestType=addPeer&
peer=ardorrules.webice.ru
{
"downloadedVolume": 155414,
"address": "23.95.51.154",
"weight": 19829,
"uploadedVolume": 63532,
"requestProcessingTime": 478,
"version": "2.0.11",
"platform": "webice.ru",
"lastUpdated": 37014605,
"blacklisted": false,
"announcedAddress": "ardorrules.webice.ru",
"application": "NRS",
"state": 1,
"shareAddress": true
}
Blacklist API Proxy Peer
Blacklist a remote node from the UI, so it won't be used when in roaming and light client modes. POST only.
Request:
- requestType is blacklistAPIProxyPeer
- peer is the IP address or domain name of the peer (plus optional port)
- adminPassword is a string with the admin password (optional)
Response:
- done (B) is true if the peer is blacklisted
- requestProcessingTime (N) is the API request processing time (in millisec)
Blacklist API Proxy Peer Example
http://localhost:27876/nxt?
requestType=blacklistAPIProxyPeer&
peer=52.0.72.67
{
"requestProcessingTime": 24,
"done": true
}
Bootstrap API Proxy
It performs a proxy bootstrap, checking known peer connected. Password protected when not connected to a local node. POST only.
Request:
- requestType is bootstrapAPIProxy
- chain is the chain that will be used for the operation
- adminPassword (S) s a string with the admin password (optional)
Response:
- success (B) is true if the proxy bootstrap is successful
- apiProxyPeer (S) is the url of the proxy where the connection is tested
- requestProcessingTime (N) is the API request processing time (in millisec)
- message (S) provides more information of the operation
Bootstrap API Proxy Example
http://localhost:27876/nxt?
requestType=bootstrapAPIProxy&
chain=2
password=IWontTellYou
{
"success": true,
"apiProxyPeer": "testnode2.ardor.tools",
"requestProcessingTime": 97,
"message": "Proxy bootstrap complete, known peer 164.132.99.1 is connected"
}
Get API Proxy Reports
It provides information about the light client remote API calls and their confirmations.
Request:
- requestType is getAPIProxyReports
Response:
- reports (A) is an array of report objects
- requestType (S) is light client remote API operation either confirming or rejecting
- confirming (A) is an array that contains the list of the confirming nodes
- rejecting (A) is an array that contains the list of the rejecting nodes
- timestamp (N) is the Epoch time of the confirming or rejecting report. Refer to Epoch time API.
- requestProcessingTime (N) is the API request processing time (in millisec)
Get API Proxy Reports Example
http://localhost:27876/nxt?
requestType=getAPIProxyReports
{
"reports": [
{
"requestType": "getDGSPurchaseCount",
"confirming": [
"http://149.28.232.203:26876"
],
"rejecting": [],
"timestamp": 82778857
},
{
"requestType": "getLastTrades",
"confirming": [
"http://149.28.232.203:26876"
],
"rejecting": [],
"timestamp": 82778857
},
{
"requestType": "getDGSPurchaseCount",
"confirming": [
"http://149.28.232.203:26876"
],
"rejecting": [],
"timestamp": 82778857
},
{
"requestType": "getDGSPendingPurchases",
"confirming": [
"http://149.28.232.203:26876"
],
"rejecting": [],
"timestamp": 82778857
},
{
"requestType": "getAliasCount",
"confirming": [
"http://149.28.232.203:26876"
],
"rejecting": [],
"timestamp": 82778857
},
{
"requestType": "getLastExchanges",
"confirming": [
"http://149.28.232.203:26876"
],
"rejecting": [],
"timestamp": 82778857
},
{
"requestType": "getVoterPhasedTransactions",
"confirming": [
"http://149.28.232.203:26876"
],
"rejecting": [],
"timestamp": 82778857
},
{
"requestType": "getBalances",
"confirming": [
"http://149.28.232.203:26876"
],
"rejecting": [],
"timestamp": 82778857
},
{
"requestType": "getBalance",
"confirming": [
"http://149.28.232.203:26876"
],
"rejecting": [],
"timestamp": 82778857
},
{
"requestType": "getAccount",
"confirming": [
"http://149.28.232.203:26876"
],
"rejecting": [],
"timestamp": 82778857
},
{
"requestType": "getAccountPublicKey",
"confirming": [
"http://149.28.232.203:26876"
],
"rejecting": [],
"timestamp": 82778857
},
{
"requestType": "getAccount",
"confirming": [
"http://149.28.232.203:26876"
],
"rejecting": [],
"timestamp": 82778856
}
],
"requestProcessingTime": 2
}
Blacklist Peer
Blacklist a peer for the default blacklisting period. Password protected like the Debug Operations. POST only.
Request:
- requestType is blacklistPeer
- peer is the IP address or domain name of the peer (plus optional port)
Response:
- done (B) is true if the peer is blacklisted
- requestProcessingTime (N) is the API request processing time (in millisec)
Blacklist Peer Example
http://localhost:27876/nxt?
requestType=blacklistPeer&
peer=ardorrules.webice.ru
{
"requestProcessingTime": 0,
"done": true
}
Get My Info
Get hostname and address of the requesting node.
Request:
- requestType is getMyInfo
Response:
- host (S) is the node hostname
- address (S) is the node address
- requestProcessingTime (N) is the API request processing time (in millisec)
Get My Info Example
http://localhost:27876/nxt?
requestType=getMyInfo
{
"address": "127.0.0.1",
"host": "127.0.0.1",
"requestProcessingTime": 1
}
Get Peer
Get information about a given peer.
Request:
- requestType is getPeer
- peer is the IP address or domain name of the peer (plus optional port)
Response:
- downloadedVolume (N) is the number of bytes downloaded by the peer
- address (S) the IP address or DNS name of the peer
- weight (N) is the peer's weight value
- uploadedVolume (N) is the number of bytes uploaded by the peer
- version (S) is the version of the software running on the peer
- platform (S) is a string representing the peer's platform
- lastUpdated (N) is the timestamp (in seconds since the genesis block) of the last peer status update
- blacklisted (B) is true if the peer is blacklisted
- services (A) is an array of strings with the services the node provides
- blacklistingCause (S) is the cause of blacklisting (if blacklisted is true)
- announcedAddress (S) is the name that the peer announced to the network (could be a DNS name, IP address, or any other string)
- application (S) is the name of the software application, typically NRS
- state (N) defines the state of the peer: 0 for NON_CONNECTED, 1 for CONNECTED, or 2 for DISCONNECTED
- shareAddress (B) is true if the address is allowed to be shared with other peers
- inbound (B) is true if the peer has made a request to this node
- inboundWebSocket (B) is true if an inbound websocket has been established from this node
- outboundWebSocket (B) is true if an outbound websocket has been established to this node
- lastConnectAttempt (B) is the timestamp (in seconds since the genesis block) of the last connection attempt to the peer
- requestProcessingTime (N) is the API request processing time (in millisec)
Get Peer Example
http://localhost:27876/nxt?
requestType=getPeer&
peer=ardorrules.ru
{
"downloadedVolume": 0,
"address": "78.22.240.88",
"inbound": false,
"blockchainState": "DOWNLOADING",
"uploadedVolume": 0,
"services": [
"CORS"
],
"requestProcessingTime": 0,
"version": "2.0.14",
"platform": "Windows 10 amd64",
"lastUpdated": 21436422,
"blacklisted": false,
"announcedAddress": "78.22.240.88",
"application": "Ardor",
"port": 26874,
"lastConnectAttempt": 21433598,
"state": 2,
"shareAddress": true
}
Get Peers
Get a list of peer IP addresses.
Request:
- requestType is getPeers
- active is true for active (not NON_CONNECTED) peers only (optional, if true overrides state)
- state is the state of the peers, one of NON_CONNECTED, CONNECTED, or DISCONNECTED (optional)
- includePeerInfo is true to include peer detail as in Get Peer
- service to filter on a specific service
Note: If neither active nor state is specified, all known peers are retrieved.
Response:
- peers (A) is an array of peer addresses
- requestProcessingTime (N) is the API request processing time (in millisec)
Get Peers Example
http://localhost:27876/nxt?
requestType=getPeers&
state=DISCONNECTED
{
"peers": [
"198.50.146.93",
"213.46.57.77"
],
"requestProcessingTime": 1
}
Manage Peers Networking
It enables, disables or queries the peers networking
Request:
- requestType is managePeersNetworking
- operation (S) is either 'enable', 'disable' or 'query'
- adminPassword (S) s a string with the admin password (optional)
Response:
- isEnabled (B) is a boolean to specify the state of the peer networking
- requestProcessingTime (N) is the API request processing time (in millisec)
Manage Peers Networkin Example
http://localhost:27876/nxt?
requestType=managePeersNetworking&
operation=query
{
"isEnabled": true,
"requestProcessingTime": 0
}
Set API Proxy Peer
Set the remote node to use when in roaming and light client modes. POST only.
Request:
- requestType is setAPIProxyPeer
- peer is the IP address or domain name of the peer (plus optional port)
- adminPassword is a string with the admin password (optional)
Response:
- downloadedVolume (N) is the number of bytes downloaded by the peer
- address (S) the IP address or DNS name of the peer
- weight (N) is the peer's weight value
- uploadedVolume (N) is the number of bytes uploaded by the peer
- version (S) is the version of the software running on the peer
- platform (S) is a string representing the peer's platform
- blockchainState (S) is a string describing the state of the blockchain in the peer
- lastUpdated (N) is the timestamp (in seconds since the genesis block) of the last peer status update
- blacklisted (B) is true if the peer is blacklisted
- services (A) is an array of strings with the services the node provides
- apiPort (N) is the API access port of the peer
- apiSSLPort (N) is the SSL API access port of the peer
- blacklistingCause (S) is the cause of blacklisting (if blacklisted is true)
- announcedAddress (S) is the name that the peer announced to the network (could be a DNS name, IP address, or any other string)
- application (S) is the name of the software application, typically NRS
- state (N) defines the state of the peer: 0 for NON_CONNECTED, 1 for CONNECTED, or 2 for DISCONNECTED
- shareAddress (B) is true if the address is allowed to be shared with other peers
- inbound (B) is true if the peer has made a request to this node
- inboundWebSocket (B) is true if an inbound websocket has been established from this node
- outboundWebSocket (B) is true if an outbound websocket has been established to this node
- lastConnectAttempt (B) is the timestamp (in seconds since the genesis block) of the last connection attempt to the peer
- requestProcessingTime (N) is the API request processing time (in millisec)
Set API Proxy Peer Example
http://localhost:27876/nxt?
requestType=setAPIProxyPeer&
peer=163.172.154.74
{
"downloadedVolume":6176,
"address":"104.223.53.14",
"inbound":false,
"blockchainState":"UP_TO_DATE",
"weight":0,
"uploadedVolume":323,
"services":[
"PRUNABLE","API","API_SSL","CORS"
],
"requestProcessingTime":77,
"version":"2.0.11",
"platform":"ARDOR-TGFQ-U33C-C37U-CMKWF",
"inboundWebSocket":false,
"apiSSLPort":7878,
"lastUpdated":112610887,
"blacklisted":false,
"announcedAddress":"104.223.53.14",
"apiPort":27876,
"application":"Ardor",
"port":27874,
"outboundWebSocket":true,
"lastConnectAttempt":112610887,
"state":1,
"shareAddress":true
}