BitShares Forum

Main => 中文 (Chinese) => Topic started by: alt on May 28, 2014, 07:30:55 am

Title: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: alt on May 28, 2014, 07:30:55 am
bts 的 p2p 网络建立节点连接依赖于 upnp 特性,所以请大家打开路由器上的 upnp 选项,这样别人才能和你建立连接,
我们的 p2p 网络才足够健壮。否则可能像现在一样,开了一整天,只能建立一个连接。
打开 upnp 不会增加你的安全隐患,关于 upnp 介绍参考以下连接:
http://baike.baidu.com/view/27925.htm

I saw network_num_connections is always 1
so I check the netstat, I am wondering why so many state is SYN_SENT?
It's because of firewall?
or does the p2p network depend on upnp when the node is behind a local gateway?

Code: [Select]
alt@alt-ThinkPad-T430s ~ $ netstat -nap | grep bitshares
tcp        0      0 0.0.0.0:5678            0.0.0.0:*               LISTEN      22148/bitshares_cli
tcp        0      0 127.0.0.1:5679          0.0.0.0:*               LISTEN      22148/bitshares_cli
tcp        0      0 127.0.0.1:5680          0.0.0.0:*               LISTEN      22148/bitshares_cli
tcp        0      1 10.10.40.72:5678        223.65.189.69:5679      SYN_SENT    22148/bitshares_cli
tcp        0      1 10.10.40.72:5678        79.173.81.171:5678      SYN_SENT    22148/bitshares_cli
tcp        0      1 10.10.40.72:5678        223.65.189.69:36560     SYN_SENT    22148/bitshares_cli
tcp        0      0 10.10.40.72:5678        107.170.30.182:5678     ESTABLISHED 22148/bitshares_cli
tcp        0      1 10.10.40.72:5678        171.105.59.67:5678      SYN_SENT    22148/bitshares_cli
tcp        0      1 10.10.40.72:5678        42.2.241.201:5678       SYN_SENT    22148/bitshares_cli
tcp        0      1 10.10.40.72:5678        112.64.144.162:5678     SYN_SENT    22148/bitshares_cli
tcp        0      1 10.10.40.72:5678        93.48.105.80:5678       SYN_SENT    22148/bitshares_cli

Right now it depends upon UPNP...
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: yinchanggong on May 28, 2014, 07:42:51 am
不懂技术没参与测试,但是真心为你们点赞!社区少不了你们 +5%
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: sudo on May 28, 2014, 07:57:45 am
为了能广泛测试最好能发布编译好的
win ubuntu  osx
至少有win平台的客户端
总不能要求小白都自己去编译吧
不是搞IT的码农估计自己编译很有难度啊
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: alt on May 28, 2014, 08:01:51 am
为了能广泛测试最好能发布编译好的
win ubuntu  osx
至少有win平台的客户端
总不能要求小白都自己去编译吧
不是搞IT的码农估计自己编译很有难度啊
我能提供ubuntu的二进制,但是这东西很敏感,建议不要下载非官方提供的二进制文件。
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: sudo on May 28, 2014, 08:28:31 am
为了能广泛测试最好能发布编译好的
win ubuntu  osx
至少有win平台的客户端
总不能要求小白都自己去编译吧
不是搞IT的码农估计自己编译很有难度啊
我能提供ubuntu的二进制,但是这东西很敏感,建议不要下载非官方提供的二进制文件。

是啊  可惜bm只发了osx平台的 诶
win平台的编译 折腾失败了
ubuntu的在虚拟机里折腾也失败了 无语了

还有个好办法,3i可以弄一个ubuntu+设置好编译环境的虚拟机文件啊,下载后,运行脚本就能自己更新+编译了。
最好么就是把http://bitshares.org/downloads的修改下啊 自动编译的指向新版本源码不就行了么
现在天天编译老的也是浪费服务器资源啊
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: gyhy on May 28, 2014, 08:45:23 am
还要设置路由器啊。比特币也需要吗。感觉复杂啊
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: alt on May 28, 2014, 08:54:54 am
我觉得比特币网络应该也受这个影响,但它的节点多,影响不大。现在bts在测试阶段,参与的节点太少了,大家都在内网无法直连,对网络影响就大了。
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: alt on May 28, 2014, 08:58:22 am
想不依赖upnp需要中间节点帮助建立握手,打穿两端内网建立起专用隧道,技术比较复杂。qq的文件传输就实现了这个技术
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: callmeluc on May 28, 2014, 09:41:03 am
不懂技术的为你们摇旗~
辛苦了
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: muse-umum on May 28, 2014, 12:24:29 pm
今晚我删了.Bitshares,用最新的代码试了还是不行呀,我路由器里的UPNP已开启的了。
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: sudo on May 28, 2014, 12:43:20 pm
移动宽带就是内网ip 悲剧

电信倒是公网的
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: Musewhale on May 28, 2014, 01:41:19 pm
alt哥威武 +5% +5% +5%
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: alt on May 28, 2014, 01:41:24 pm
今晚我删了.Bitshares,用最新的代码试了还是不行呀,我路由器里的UPNP已开启的了。
启动客户端时的信息是什么啊?你连我的试试看。180.157.208.228:5678
你看我的启动信息,在 upnp 成功后会打印外网IP
Code: [Select]
alt@alt-ThinkPad-T430s ~/workspace/bitshares_toolkit/build/programs/client $ ./bitshares_client
Logging to file "/home/alt/.BitSharesXTS/default.log"
Logging RPC to file "/home/alt/.BitSharesXTS/rpc.log"
Loading config "/home/alt/.BitSharesXTS/config.json"
Loading blockchain from "/home/alt/.BitSharesXTS/chain"
Using genesis block from file "/home/alt/workspace/bitshares_toolkit/build/programs/client/genesis.dat"
Not starting rpc server, use --server to enable the rpc interface
Listening to P2P connections on port 5678
Attempting to map UPNP port...
UPnP: ExternalIPAddress = 180.157.208.228
UPnP Port Mapping successful.
Attempting to connect to peer 107.170.30.182:5678
(wallet closed) >>>
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: Overthetop on May 28, 2014, 02:45:10 pm
想不依赖upnp需要中间节点帮助建立握手,打穿两端内网建立起专用隧道,技术比较复杂。qq的文件传输就实现了这个技术

看来这个问题,以后BTS要想办法解决啊,否则影响网络效率哦。
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: HackFisher on May 28, 2014, 03:43:40 pm
为了能广泛测试最好能发布编译好的
win ubuntu  osx
至少有win平台的客户端
总不能要求小白都自己去编译吧
不是搞IT的码农估计自己编译很有难度啊
我能提供ubuntu的二进制,但是这东西很敏感,建议不要下载非官方提供的二进制文件。

是啊  可惜bm只发了osx平台的 诶
win平台的编译 折腾失败了
ubuntu的在虚拟机里折腾也失败了 无语了

还有个好办法,3i可以弄一个ubuntu+设置好编译环境的虚拟机文件啊,下载后,运行脚本就能自己更新+编译了。
最好么就是把http://bitshares.org/downloads的修改下啊 自动编译的指向新版本源码不就行了么
现在天天编译老的也是浪费服务器资源啊

你可以试一下这个。

https://github.com/valzav/vagrant_bitshares_toolkit (https://github.com/valzav/vagrant_bitshares_toolkit)
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: alt on May 28, 2014, 03:48:02 pm

你可以试一下这个。

https://github.com/valzav/vagrant_bitshares_toolkit (https://github.com/valzav/vagrant_bitshares_toolkit)
这是个好东西啊
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: sudo on May 28, 2014, 04:33:35 pm
为了能广泛测试最好能发布编译好的
win ubuntu  osx
至少有win平台的客户端
总不能要求小白都自己去编译吧
不是搞IT的码农估计自己编译很有难度啊
我能提供ubuntu的二进制,但是这东西很敏感,建议不要下载非官方提供的二进制文件。

是啊  可惜bm只发了osx平台的 诶
win平台的编译 折腾失败了
ubuntu的在虚拟机里折腾也失败了 无语了

还有个好办法,3i可以弄一个ubuntu+设置好编译环境的虚拟机文件啊,下载后,运行脚本就能自己更新+编译了。
最好么就是把http://bitshares.org/downloads的修改下啊 自动编译的指向新版本源码不就行了么
现在天天编译老的也是浪费服务器资源啊

你可以试一下这个。

https://github.com/valzav/vagrant_bitshares_toolkit (https://github.com/valzav/vagrant_bitshares_toolkit)

3q 我记混了 折腾失败是win下
osx虚拟机下编译出来的还是连不上
ubuntu的看编译指南挺简单  快编译好了

可以运行了。奇怪的是终端下可以运行,直接双击不行。
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: sudo on May 28, 2014, 04:34:15 pm
今晚我删了.Bitshares,用最新的代码试了还是不行呀,我路由器里的UPNP已开启的了。
启动客户端时的信息是什么啊?你连我的试试看。180.157.208.228:5678
你看我的启动信息,在 upnp 成功后会打印外网IP
Code: [Select]
alt@alt-ThinkPad-T430s ~/workspace/bitshares_toolkit/build/programs/client $ ./bitshares_client
Logging to file "/home/alt/.BitSharesXTS/default.log"
Logging RPC to file "/home/alt/.BitSharesXTS/rpc.log"
Loading config "/home/alt/.BitSharesXTS/config.json"
Loading blockchain from "/home/alt/.BitSharesXTS/chain"
Using genesis block from file "/home/alt/workspace/bitshares_toolkit/build/programs/client/genesis.dat"
Not starting rpc server, use --server to enable the rpc interface
Listening to P2P connections on port 5678
Attempting to map UPNP port...
UPnP: ExternalIPAddress = 180.157.208.228
UPnP Port Mapping successful.
Attempting to connect to peer 107.170.30.182:5678
(wallet closed) >>>

我的没有这个

UPnP: ExternalIPAddress = 180.157.208.228
UPnP Port Mapping successful.

路由器upnp打开了的
虚拟机里运行是不是有关?
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: HackFisher on May 28, 2014, 04:49:03 pm
想不依赖upnp需要中间节点帮助建立握手,打穿两端内网建立起专用隧道,技术比较复杂。qq的文件传输就实现了这个技术

 +5%
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: muse-umum on May 28, 2014, 04:52:56 pm
今晚我删了.Bitshares,用最新的代码试了还是不行呀,我路由器里的UPNP已开启的了。
启动客户端时的信息是什么啊?你连我的试试看。180.157.208.228:5678
你看我的启动信息,在 upnp 成功后会打印外网IP
Code: [Select]
alt@alt-ThinkPad-T430s ~/workspace/bitshares_toolkit/build/programs/client $ ./bitshares_client
Logging to file "/home/alt/.BitSharesXTS/default.log"
Logging RPC to file "/home/alt/.BitSharesXTS/rpc.log"
Loading config "/home/alt/.BitSharesXTS/config.json"
Loading blockchain from "/home/alt/.BitSharesXTS/chain"
Using genesis block from file "/home/alt/workspace/bitshares_toolkit/build/programs/client/genesis.dat"
Not starting rpc server, use --server to enable the rpc interface
Listening to P2P connections on port 5678
Attempting to map UPNP port...
UPnP: ExternalIPAddress = 180.157.208.228
UPnP Port Mapping successful.
Attempting to connect to peer 107.170.30.182:5678
(wallet closed) >>>

本来我的虚拟机用的是NAT连接,就没有下面这两段,
UPnP: ExternalIPAddress = 180.157.208.228
UPnP Port Mapping successful.

然后我改成桥接,重新启动,就有了这两行,但依然连接不上P2P网络,

netstat -nap | grep 5678 显示如下:
tcp        0      0 0.0.0.0:5678            0.0.0.0:*               LISTEN      2790/bitshares_clie
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: Amazon on May 28, 2014, 05:25:07 pm
悲催,我用ATT自己的router没有UPnP选项阿,网上查说ATT的就没可能。。。需要自己做port forwarding 谁给讲讲
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: sudo on May 28, 2014, 05:56:42 pm
virtualbox虚拟机 ubuntu 编译
nat改桥接 upnp成功

一开始编译的客户端  卡块1802
rm -rf .BitSharesXTS  也不行

虚拟机重置后重新运行 ok了
有UI就好了 简陋点也行啊
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: alt on May 28, 2014, 10:24:23 pm
悲催,我用ATT自己的router没有UPnP选项阿,网上查说ATT的就没可能。。。需要自己做port forwarding 谁给讲讲
没有 UPNP 可以做端口映射,路由器上的5678映射到你本机的5678,其实有条件的能打开UPNP就够了,网络就足够好了 :)
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: alt on May 28, 2014, 11:53:02 pm
我连上 heyD 的节点了  :D
我现在在公司,upnp无法支持。
Code: [Select]
(wallet closed) >>> network_get_peer_info
[{
    "addr": "107.170.30.182:5678",
    "addrlocal": "10.10.40.72:5678",
    "services": "00000001",
    "lastsend": 1401320970,
    "lastrecv": 1401320970,
    "bytessent": 15888,
    "bytesrecv": 119984,
    "conntime": "",
    "pingtime": "",
    "pingwait": "",
    "version": "",
    "subver": "bts::net::node",
    "inbound": false,
    "startingheight": "",
    "banscore": "",
    "syncnode": "",
    "bitshares_git_revision_sha": "5f61176a67115ea0b0594d218253b0341b063a95 (same as ours)",
    "bitshares_git_revision_unix_timestamp": "20140527T230143",
    "bitshares_git_revision_age": "25 hours ago (same as ours)",
    "fc_git_revision_sha": "54c66bbb86770d5d166c8b172b2658e9103e37cb (same as ours)",
    "fc_git_revision_unix_timestamp": "20140527T134454",
    "fc_git_revision_age": "34 hours ago (same as ours)",
    "platform": "linux"
  },{
    "addr": "113.79.78.104:5678",
    "addrlocal": "10.10.40.72:5678",
    "services": "00000001",
    "lastsend": 1401320994,
    "lastrecv": 1401320994,
    "bytessent": 611856,
    "bytesrecv": 62784,
    "conntime": "",
    "pingtime": "",
    "pingwait": "",
    "version": "",
    "subver": "bts::net::node",
    "inbound": false,
    "startingheight": "",
    "banscore": "",
    "syncnode": "",
    "bitshares_git_revision_sha": "5f61176a67115ea0b0594d218253b0341b063a95 (same as ours)",
    "bitshares_git_revision_unix_timestamp": "20140527T230143",
    "bitshares_git_revision_age": "25 hours ago (same as ours)",
    "fc_git_revision_sha": "54c66bbb86770d5d166c8b172b2658e9103e37cb (same as ours)",
    "fc_git_revision_unix_timestamp": "20140527T134454",
    "fc_git_revision_age": "34 hours ago (same as ours)",
    "platform": "linux"
  }
]
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: alt on May 28, 2014, 11:58:11 pm
已经连上3个节点了,不错
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: 1&0 on May 29, 2014, 12:02:05 am
不懂技术啊,只能再等等了!
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: muse-umum on May 29, 2014, 12:52:54 am
我连上 heyD 的节点了  :D
我现在在公司,upnp无法支持。
Code: [Select]
(wallet closed) >>> network_get_peer_info
[{
    "addr": "107.170.30.182:5678",
    "addrlocal": "10.10.40.72:5678",
    "services": "00000001",
    "lastsend": 1401320970,
    "lastrecv": 1401320970,
    "bytessent": 15888,
    "bytesrecv": 119984,
    "conntime": "",
    "pingtime": "",
    "pingwait": "",
    "version": "",
    "subver": "bts::net::node",
    "inbound": false,
    "startingheight": "",
    "banscore": "",
    "syncnode": "",
    "bitshares_git_revision_sha": "5f61176a67115ea0b0594d218253b0341b063a95 (same as ours)",
    "bitshares_git_revision_unix_timestamp": "20140527T230143",
    "bitshares_git_revision_age": "25 hours ago (same as ours)",
    "fc_git_revision_sha": "54c66bbb86770d5d166c8b172b2658e9103e37cb (same as ours)",
    "fc_git_revision_unix_timestamp": "20140527T134454",
    "fc_git_revision_age": "34 hours ago (same as ours)",
    "platform": "linux"
  },{
    "addr": "113.79.78.104:5678",
    "addrlocal": "10.10.40.72:5678",
    "services": "00000001",
    "lastsend": 1401320994,
    "lastrecv": 1401320994,
    "bytessent": 611856,
    "bytesrecv": 62784,
    "conntime": "",
    "pingtime": "",
    "pingwait": "",
    "version": "",
    "subver": "bts::net::node",
    "inbound": false,
    "startingheight": "",
    "banscore": "",
    "syncnode": "",
    "bitshares_git_revision_sha": "5f61176a67115ea0b0594d218253b0341b063a95 (same as ours)",
    "bitshares_git_revision_unix_timestamp": "20140527T230143",
    "bitshares_git_revision_age": "25 hours ago (same as ours)",
    "fc_git_revision_sha": "54c66bbb86770d5d166c8b172b2658e9103e37cb (same as ours)",
    "fc_git_revision_unix_timestamp": "20140527T134454",
    "fc_git_revision_age": "34 hours ago (same as ours)",
    "platform": "linux"
  }
]

一番折腾终于OK了。快上班了,我的节点已经关掉了。

如果是用Windows主机run一个虚拟机的话,有2点要注意的,
1. 最好用一个没有任何限制的用户登录Windows
2. 虚拟机的网络设置里,用Bridge

在启动客户端时,加上参数 --server
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: sudo on May 29, 2014, 01:09:50 am
win ubuntu osx三个平台编译折腾下来
最省事还是ubuntu
http://mirrors.oss.org.cn/ubuntuiso/14.04/ubuntu-14.04-desktop-i386.iso
vmware 或virtualbox
网络桥接

https://github.com/BitShares/bitshares_toolkit/blob/master/BUILD_UBUNTU.md
sudo apt-get update
sudo apt-get install cmake git libreadline-dev uuid-dev g++ libdb++-dev libdb-dev zip libssl-dev openssl build-essential python-dev autotools-dev libicu-dev build-essential libbz2-dev libboost-dev libboost-all-dev
git clone https://github.com/BitShares/bitshares_toolkit.git
cd bitshares_toolkit
git submodule init
git submodule update
cmake .
make


./bishares_client --server 运行即可
apt-get真是好东西
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: alt on May 29, 2014, 01:14:02 am
win ubuntu osx三个平台编译折腾下来
最省事还是ubuntu
http://mirrors.oss.org.cn/ubuntuiso/14.04/ubuntu-14.04-desktop-i386.iso
vmware 或virtualbox
网络桥接

https://github.com/BitShares/bitshares_toolkit/blob/master/BUILD_UBUNTU.md
sudo apt-get update
sudo apt-get install cmake git libreadline-dev uuid-dev g++ libdb++-dev libdb-dev zip libssl-dev openssl build-essential python-dev autotools-dev libicu-dev build-essential libbz2-dev libboost-dev libboost-all-dev
git clone https://github.com/BitShares/bitshares_toolkit.git
cd bitshares_toolkit
git submodule init
git submodule update
cmake .
make


./bishares_client --server 运行即可
apt-get真是好东西
好牛啊,三个平台都会玩。
补充一下,如果想调程序,最好把编译和代码的目录分开。
Code: [Select]
mkdir build
cd build
cmake ..
make
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: sudo on May 29, 2014, 02:38:09 am
win ubuntu osx三个平台编译折腾下来
最省事还是ubuntu
http://mirrors.oss.org.cn/ubuntuiso/14.04/ubuntu-14.04-desktop-i386.iso
vmware 或virtualbox
网络桥接

https://github.com/BitShares/bitshares_toolkit/blob/master/BUILD_UBUNTU.md
sudo apt-get update
sudo apt-get install cmake git libreadline-dev uuid-dev g++ libdb++-dev libdb-dev zip libssl-dev openssl build-essential python-dev autotools-dev libicu-dev build-essential libbz2-dev libboost-dev libboost-all-dev
git clone https://github.com/BitShares/bitshares_toolkit.git
cd bitshares_toolkit
git submodule init
git submodule update
cmake .
make


./bishares_client --server 运行即可
apt-get真是好东西
好牛啊,三个平台都会玩。
补充一下,如果想调程序,最好把编译和代码的目录分开。
Code: [Select]
mkdir build
cd build
cmake ..
make

我瞎折腾  win下搞不定   osx折腾出来的连不上  可能因为没改桥接
ubuntu省事点
按编译说明就能搞定了
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: JetainM on May 30, 2014, 02:50:34 am
求送xts
"XTS2nDFbmGUv7kJ3eCRhb9si21oKJP4ShFJK8oySNZmVPzkFq9vy6o28P3C1WJRgCThdqALsMeq5euoYPvv5tPH5UKduMgt6g"
Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: alt on May 30, 2014, 05:08:57 am
还有人无法连接上网络的吗?
修改以下代码后重新编译再试试看。

libraries/net/node.cpp, line 455, remove 3 lines:
Code: [Select]
//        if (local_endpoint.valid())
//          _message_connection.connect_to(remote_endpoint, *local_endpoint);
//        else


Title: Re: 测试 bts 钱包时请大家打开路由器的 upnp 选项
Post by: alt on May 30, 2014, 05:11:16 am
求送xts
"XTS2nDFbmGUv7kJ3eCRhb9si21oKJP4ShFJK8oySNZmVPzkFq9vy6o28P3C1WJRgCThdqALsMeq5euoYPvv5tPH5UKduMgt6g"
我也没多少了,给你转了一些