Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: halfawake on July 07, 2014, 01:29:08 AM



Title: Where are your full node connections located?
Post by: halfawake on July 07, 2014, 01:29:08 AM
I just downloaded NetBalancer earlier today to see how much bandwidth bitcoin-qt is using and got an unexpected bonus from it.  In addition to shows how much bandwidth bitcoin-qt is using, it also shows what countries the people connected to you are located in.  Right now, I have eight connections, six from the United States and the other two are from Canada and the United Kingdom.  Earlier today, I tried this and those six connections were also located in the United States.  The difference then is that the other countries were Germany and Lithuania.  I briefly had a connection with someone in China too while composing this message.

Has anyone else tried this?  I'd be curious to hear what other people are seeing for their own bitcoin-qt connections.  Unfortunately, it looks like Netbalancer only works with Windows, but there might be another programs that work with other operating systems. 


Title: Re: Where are your full node connections located?
Post by: p2pbucks on July 07, 2014, 01:51:07 AM
./bitcoind getpeerinfo can show each connected node
btw : USA runs about 50 percent of bitcoin full nodes , it's not curious that most of your connections are from USA


Title: Re: Where are your full node connections located?
Post by: halfawake on July 07, 2014, 01:58:23 AM
./bitcoind getpeerinfo can show each connected node
btw : USA runs about 50 percent of bitcoin full nodes , it's not curious that most of your connections are from USA

Thanks, I wasn't aware of that command line.  Yeah, I wasn't surprised to see that most of the full nodes are in the USA.  I was more curious to see where the ones elsewhere in the world are.


Title: Re: Where are your full node connections located?
Post by: dserrano5 on July 07, 2014, 08:10:55 AM
These are my peers:

Code:
$ perl
use warnings;
use strict;
use JSON;

my $json = qx{bitcoin-cli getpeerinfo};
my $peers = from_json $json;
my %countries;
foreach my $peer (@$peers) {
    my $ip = $peer->{'addr'};
    next if -1 != index $ip, 'onion';
    next if -1 != index $ip, '127.0.0.1';
    $ip =~ s/:\d+$//;
    my $country = qx{geoiplookup $ip};
    chomp $country;
    $countries{$country}++;
}
foreach my $c (reverse sort { $countries{$a} <=> $countries{$b} } keys %countries) {
    printf "%2d %s\n", $countries{$c}, $c;
}

Code:
46 GeoIP Country Edition: US, United States
 7 GeoIP Country Edition: CN, China
 7 GeoIP Country Edition: DE, Germany
 4 GeoIP Country Edition: NL, Netherlands
 4 GeoIP Country Edition: CH, Switzerland
 3 GeoIP Country Edition: JP, Japan
 3 GeoIP Country Edition: RU, Russian Federation
 2 GeoIP Country Edition: AT, Austria
 2 GeoIP Country Edition: FR, France
 2 GeoIP Country Edition: IP Address not found
 2 GeoIP Country Edition: PL, Poland
 2 GeoIP Country Edition: RO, Romania
 1 GeoIP Country Edition: UA, Ukraine
 1 GeoIP Country Edition: CZ, Czech Republic
 1 GeoIP Country Edition: SE, Sweden
 1 GeoIP Country Edition: HU, Hungary
 1 GeoIP Country Edition: DK, Denmark
 1 GeoIP Country Edition: FI, Finland
 1 GeoIP Country Edition: GB, United Kingdom
 1 GeoIP Country Edition: CA, Canada
 1 GeoIP Country Edition: A1, Anonymous Proxy
 1 GeoIP Country Edition: ES, Spain
 1 GeoIP Country Edition: NZ, New Zealand
 1 GeoIP Country Edition: IT, Italy
 1 GeoIP Country Edition: HR, Croatia
 1 GeoIP Country Edition: IL, Israel
 1 GeoIP Country Edition: MX, Mexico
 1 GeoIP Country Edition: CO, Colombia

Or, for poor perl-less souls:

Code:
for IP in $(bitcoin-cli getpeerinfo |grep -w addr |grep -vE "onion|127.0.0.1" |sed -e 's/.*"\([0-9].*\):.*/\1/'); do geoiplookup $IP; done |sort |uniq -c |sort -rn


Title: Re: Where are your full node connections located?
Post by: halfawake on July 07, 2014, 08:04:00 PM
These are my peers:

Code:
$ perl
use warnings;
use strict;
use JSON;

my $json = qx{bitcoin-cli getpeerinfo};
my $peers = from_json $json;
my %countries;
foreach my $peer (@$peers) {
    my $ip = $peer->{'addr'};
    next if -1 != index $ip, 'onion';
    next if -1 != index $ip, '127.0.0.1';
    $ip =~ s/:\d+$//;
    my $country = qx{geoiplookup $ip};
    chomp $country;
    $countries{$country}++;
}
foreach my $c (reverse sort { $countries{$a} <=> $countries{$b} } keys %countries) {
    printf "%2d %s\n", $countries{$c}, $c;
}

Code:
46 GeoIP Country Edition: US, United States
 7 GeoIP Country Edition: CN, China
 7 GeoIP Country Edition: DE, Germany
 4 GeoIP Country Edition: NL, Netherlands
 4 GeoIP Country Edition: CH, Switzerland
 3 GeoIP Country Edition: JP, Japan
 3 GeoIP Country Edition: RU, Russian Federation
 2 GeoIP Country Edition: AT, Austria
 2 GeoIP Country Edition: FR, France
 2 GeoIP Country Edition: IP Address not found
 2 GeoIP Country Edition: PL, Poland
 2 GeoIP Country Edition: RO, Romania
 1 GeoIP Country Edition: UA, Ukraine
 1 GeoIP Country Edition: CZ, Czech Republic
 1 GeoIP Country Edition: SE, Sweden
 1 GeoIP Country Edition: HU, Hungary
 1 GeoIP Country Edition: DK, Denmark
 1 GeoIP Country Edition: FI, Finland
 1 GeoIP Country Edition: GB, United Kingdom
 1 GeoIP Country Edition: CA, Canada
 1 GeoIP Country Edition: A1, Anonymous Proxy
 1 GeoIP Country Edition: ES, Spain
 1 GeoIP Country Edition: NZ, New Zealand
 1 GeoIP Country Edition: IT, Italy
 1 GeoIP Country Edition: HR, Croatia
 1 GeoIP Country Edition: IL, Israel
 1 GeoIP Country Edition: MX, Mexico
 1 GeoIP Country Edition: CO, Colombia

Or, for poor perl-less souls:

Code:
for IP in $(bitcoin-cli getpeerinfo |grep -w addr |grep -vE "onion|127.0.0.1" |sed -e 's/.*"\([0-9].*\):.*/\1/'); do geoiplookup $IP; done |sort |uniq -c |sort -rn

Huh, neat.  You have a lot more peers than I do.  Interestingly, my peer list is completely different now from when I posted originally.  Now my peers are: Denmark, Ukraine, Lithuania, Portugal, Germany, United States, France, and Hungary.


Title: Re: Where are your full node connections located?
Post by: Mieehayii on July 08, 2014, 04:10:52 AM
from US


Title: Re: Where are your full node connections located?
Post by: klmist on July 08, 2014, 01:49:24 PM
Has anyone else tried this?  I'd be curious to hear what other people are seeing for their own bitcoin-qt connections.  Unfortunately, it looks like Netbalancer only works with Windows, but there might be another programs that work with other operating systems.  

Here are my top 50 countries (10877 unique node IPs in my logs)

percent nodes   country
27.56%  2998    United States
7.47%   812     China
6.86%   746     United Kingdom
5.93%   645     Russian Federation
5.87%   638     Germany
4.46%   485     Canada
3.35%   364     Netherlands
2.85%   310     France
2.40%   261     Australia
2.22%   242     Unknown
2.03%   221     Poland
2.00%   217     Ukraine
1.56%   170     Spain
1.53%   166     Italy
1.42%   154     Sweden
1.32%   144     Brazil
1.18%   128     Switzerland
0.92%   100     Taiwan
0.92%   100     Austria
0.78%   85      Czech Republic
0.78%   85      Bulgaria
0.75%   82      Romania
0.74%   81      Finland
0.72%   78      Japan
0.70%   76      Belgium
0.64%   70      Hong Kong
0.61%   66      Norway
0.57%   62      Israel
0.51%   55      Argentina
0.50%   54      Denmark
0.49%   53      Hungary
0.48%   52      India
0.48%   52      Greece
0.47%   51      Thailand
0.47%   51      Slovakia
0.43%   47      South Africa
0.41%   45      Mexico
0.40%   43      Portugal
0.38%   41      Indonesia
0.37%   40      New Zealand
0.35%   38      Korea, Republic
0.32%   35      Serbia
0.30%   33      Ireland
0.29%   32      Singapore
0.29%   32      Malaysia
0.29%   31      Philippines
0.29%   31      Belarus
0.28%   30      Slovenia
0.27%   29      Turkey
0.27%   29      Estonia