|
|
@ -333,3 +333,54 @@ Value getnettotals(const Array& params, bool fHelp) |
|
|
|
obj.push_back(Pair("timemillis", static_cast<boost::int64_t>(GetTimeMillis()))); |
|
|
|
return obj; |
|
|
|
} |
|
|
|
|
|
|
|
Value getnetworkinfo(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (fHelp || params.size() != 0) |
|
|
|
throw runtime_error( |
|
|
|
"getnetworkinfo\n" |
|
|
|
"Returns an object containing various state info regarding P2P networking.\n" |
|
|
|
"\nResult:\n" |
|
|
|
"{\n" |
|
|
|
" \"version\": xxxxx, (numeric) the server version\n" |
|
|
|
" \"protocolversion\": xxxxx, (numeric) the protocol version\n" |
|
|
|
" \"timeoffset\": xxxxx, (numeric) the time offset\n" |
|
|
|
" \"connections\": xxxxx, (numeric) the number of connections\n" |
|
|
|
" \"proxy\": \"host:port\", (string, optional) the proxy used by the server\n" |
|
|
|
" \"relayfee\": x.xxxx, (numeric) minimum relay fee for non-free transactions in btc/kb\n" |
|
|
|
" \"localaddresses\": [, (array) list of local addresses\n" |
|
|
|
" \"address\": \"xxxx\", (string) network address\n" |
|
|
|
" \"port\": xxx, (numeric) network port\n" |
|
|
|
" \"score\": xxx (numeric) relative score\n" |
|
|
|
" ]\n" |
|
|
|
"}\n" |
|
|
|
"\nExamples:\n" |
|
|
|
+ HelpExampleCli("getnetworkinfo", "") |
|
|
|
+ HelpExampleRpc("getnetworkinfo", "") |
|
|
|
); |
|
|
|
|
|
|
|
proxyType proxy; |
|
|
|
GetProxy(NET_IPV4, proxy); |
|
|
|
|
|
|
|
Object obj; |
|
|
|
obj.push_back(Pair("version", (int)CLIENT_VERSION)); |
|
|
|
obj.push_back(Pair("protocolversion",(int)PROTOCOL_VERSION)); |
|
|
|
obj.push_back(Pair("timeoffset", (boost::int64_t)GetTimeOffset())); |
|
|
|
obj.push_back(Pair("connections", (int)vNodes.size())); |
|
|
|
obj.push_back(Pair("proxy", (proxy.first.IsValid() ? proxy.first.ToStringIPPort() : string()))); |
|
|
|
obj.push_back(Pair("relayfee", ValueFromAmount(CTransaction::nMinRelayTxFee))); |
|
|
|
Array localAddresses; |
|
|
|
{ |
|
|
|
LOCK(cs_mapLocalHost); |
|
|
|
BOOST_FOREACH(const PAIRTYPE(CNetAddr, LocalServiceInfo) &item, mapLocalHost) |
|
|
|
{ |
|
|
|
Object rec; |
|
|
|
rec.push_back(Pair("address", item.first.ToString())); |
|
|
|
rec.push_back(Pair("port", item.second.nPort)); |
|
|
|
rec.push_back(Pair("score", item.second.nScore)); |
|
|
|
localAddresses.push_back(rec); |
|
|
|
} |
|
|
|
} |
|
|
|
obj.push_back(Pair("localaddresses", localAddresses)); |
|
|
|
return obj; |
|
|
|
} |
|
|
|