@ -338,6 +338,26 @@ Value getnettotals(const Array& params, bool fHelp)
return obj ;
}
static Array GetNetworksInfo ( )
{
Array networks ;
for ( int n = 0 ; n < NET_MAX ; + + n )
{
enum Network network = static_cast < enum Network > ( n ) ;
if ( network = = NET_UNROUTABLE )
continue ;
proxyType proxy ;
Object obj ;
GetProxy ( network , proxy ) ;
obj . push_back ( Pair ( " name " , GetNetworkName ( network ) ) ) ;
obj . push_back ( Pair ( " limited " , IsLimited ( network ) ) ) ;
obj . push_back ( Pair ( " reachable " , IsReachable ( network ) ) ) ;
obj . push_back ( Pair ( " proxy " , proxy . IsValid ( ) ? proxy . ToStringIPPort ( ) : string ( ) ) ) ;
networks . push_back ( obj ) ;
}
return networks ;
}
Value getnetworkinfo ( const Array & params , bool fHelp )
{
if ( fHelp | | params . size ( ) ! = 0 )
@ -351,7 +371,13 @@ Value getnetworkinfo(const Array& params, bool fHelp)
" \" localservices \" : \" xxxxxxxxxxxxxxxx \" , (string) the services we offer to the network \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 "
" \" networks \" : [ (array) information per network \n "
" \" name \" : \" xxx \" , (string) network (ipv4, ipv6 or onion) \n "
" \" limited \" : xxx, (boolean) is the network limited using -onlynet? \n "
" \" reachable \" : xxx, (boolean) is the network reachable? \n "
" \" proxy \" : \" host:port \" (string) the proxy that is used for this network, or empty if none \n "
" }, \n "
" ], \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 "
@ -364,16 +390,13 @@ Value getnetworkinfo(const Array& params, bool fHelp)
+ 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 ( " localservices " , strprintf ( " %016x " , nLocalServices ) ) ) ;
obj . push_back ( Pair ( " timeoffset " , GetTimeOffset ( ) ) ) ;
obj . push_back ( Pair ( " connections " , ( int ) vNodes . size ( ) ) ) ;
obj . push_back ( Pair ( " proxy" , ( proxy . IsValid ( ) ? proxy . ToStringIPPort ( ) : string ( ) ) ) ) ;
obj . push_back ( Pair ( " networks" , GetNetworksInfo ( ) ) ) ;
obj . push_back ( Pair ( " relayfee " , ValueFromAmount ( : : minRelayTxFee . GetFeePerK ( ) ) ) ) ;
Array localAddresses ;
{