너무 적은 연결, config.json?
-
-
구성 파일은 config.json입니다. 혼란을 줄이려면 질문을 업데이트하십시오.The config file is config.json, please update the question to reduce confusion.
- 0
- 2019-08-29
- Phlogi
-
5 대답
- 투표
-
- 2019-05-23
일부 "방금 시작된 노드"는 언젠가 이와 같은 상황에 빠지고 문제를 제거하기위한 작업이 수행됩니다. 시나리오는 다음과 같습니다.
- 부트 스트랩 피어는 많은 수의 연결을 허용하므로 연결하는 데 문제가 없습니다.
- 그런 다음 항상 동일한 동료의 하위 집합을 다시 보냅니다.과 이 피어는 수백 개의 연결을 허용하지 않으므로 결국 포화 상태이므로 응답이 없습니다.
- 노드는 연결을 받아들이고 일부 주소를 제공하는 포화되지 않은 노드의 주소 인
admin-client connect address [...]
를 통해 수동으로 제공 될 때까지이 단계에서 멈 춥니 다.포화되지 않은 다른 노드와 모든 것이 마침내 괜찮습니다.
우리는 시도 할 피어의 하위 집합을 다시 보내는 추가 연결을 거부하면서 포화 된 노드를 만드는 작업을하고 있습니다 ...
Some "just started node" sometime ends up in a situation like that and work is done to get rid of the problem. The scenario is the following:
- The bootstrap peers accept a big number of connection so there is never any problem to connect to them
- Then, they send back always the same subset of their peers. And these peers do not accept hundred of connection so they end up being all saturate and therefore none reply.
- The node is stuck in this stage until being given by hand via
admin-client connect address [...]
the address of a non saturated node that accepts the connection and gives some addresses of some other non saturated nodes and everything is finally fine.
We are working on it by making saturated nodes while refusing an extra connection sending back anyway a subset of their peers to try...
-
- 2019-02-15
노드가 비공개 모드입니까?네트워크에 수백 개의 피어가있는 동안 5 개의 연결 만있는 것은 기이합니다.노드를 다시 시작하려고 했습니까?및/또는 새로운 신원을 생성하기 위해?다른 노드가 귀하의 노드를 블랙리스트에 올렸을 수 있습니다.
명령 줄 옵션 -peer ADDR : PORT 를 사용하거나 config.json 파일에 추가하여 피어를 추가 할 수 있습니다.구성 파일을 통해 예를 들어 다음과 같이 피어를 추가 할 수 있습니다.
<사전> <코드> { "p2p": { "bootstrap-peers": [ "127.0.0.1:9731"], }Is your node in private mode ? It's bizarre to only have 5 connections while there are hundreds of peers in the networks. Have you tried to restart your node ? and/or to generate a new identity ? Maybe the other nodes have blacklisted yours.
You can either add peers with command line option --peer ADDR:PORT, or by adding them in the config.json file. Via the config file, you can for instance add the peers as follows:
{ "p2p": { "bootstrap-peers": ["127.0.0.1:9731"], }
-
비공개 모드가 없습니다.그리고 예,여러 번 다시 시작하려고했습니다.누군가 나를 블랙리스트에 올려야하는 이유는 무엇입니까?No private mode. And yes i've tried to restart several times. Why should somebody blacklist me?
- 0
- 2019-02-15
- Blindripper
-
예를 들어 "정상적인"노드처럼 행동하지 않는다고 판단하는 경우 사용자를 블랙리스트에 올릴 수 있습니다.더 많은 디버그 추적 (-vvv 사용)을 인쇄하고 연결이 거부/닫힌 이유를 확인할 수 있습니다.One may blacklist you if, for instance, it considers that you are not behaving like a "normal" node: (your data are not well formed, you try to flood the other node with the same request, ....). You can try to print more debug traces (with -vvv) and see why connections are refused/closed.
- 2
- 2019-02-15
- iguerNL
-
그래,그럴 수 없어,나는 "정상"으로 행동한다 :)Ok that can't be the case, i behave "normal" :)
- 0
- 2019-02-15
- Blindripper
-
- 2019-02-16
좋아요,포트를 열려고했고,새로운 ID를 생성하고,수동으로 피어를 추가했습니다 (iguer와 같은).하지만 도움이되지는 않았습니다.
그러나 Tezos Baking 슬랙의 "Krixt"라는 사람이이 스크립트를 작성했습니다.
#!/bin/bash # get foundation nodes for i in dubnodes franodes sinnodes nrtnodes pdxnodes; do for j in `dig $i.tzbeta.net +short`; do echo "Connecting foundation $j..." ~/tezos/tezos-admin-client connect address [$j]:9732 done done # public nodes for j in 0 1; do for i in `curl -s "http://api6.tzscan.io/v3/network?state=running&p=$j&number=50" \ | jq -r '.[] | .point_id' | xargs`; do # handle ipv4 or ipv6 numparts=$(echo $i | awk -F: '{print NF}') basenum=$((numparts-1)) port=$(echo $i | cut -d: -f$numparts) base=$(echo $i | cut -d: -f1-$basenum) formatted="[$base]:$port" echo "Connecting $formatted..." ~/tezos/tezos-admin-client connect address $formatted done done
출처 : https://gist.github.com/utdrmac/2125a8514960e163837e86bc934f19b6
이 스크립트는 진정한 연결 부스터입니다. :) 지금은 100 명 이상의 연결이 있습니다 (이전 5 명에서).
동일한
"too few connections"
문제가있는 다른 사람들에게 도움이되기를 바랍니다.)Ok, i've tried to open ports, generated a new identity, added peers manually (like iguer) adviced, but nothing helped.
But a guy called "Krixt" in the Tezos Baking slack wrote this script:
#!/bin/bash # get foundation nodes for i in dubnodes franodes sinnodes nrtnodes pdxnodes; do for j in `dig $i.tzbeta.net +short`; do echo "Connecting foundation $j..." ~/tezos/tezos-admin-client connect address [$j]:9732 done done # public nodes for j in 0 1; do for i in `curl -s "http://api6.tzscan.io/v3/network?state=running&p=$j&number=50" \ | jq -r '.[] | .point_id' | xargs`; do # handle ipv4 or ipv6 numparts=$(echo $i | awk -F: '{print NF}') basenum=$((numparts-1)) port=$(echo $i | cut -d: -f$numparts) base=$(echo $i | cut -d: -f1-$basenum) formatted="[$base]:$port" echo "Connecting $formatted..." ~/tezos/tezos-admin-client connect address $formatted done done
Source: https://gist.github.com/utdrmac/2125a8514960e163837e86bc934f19b6
This script is a true connection booster :) I've now more than 100 connections (from 5 before).
I hope this will help others with the same
"too few connections"
problems ;)-
좋아요!이것은 노드가 스스로 네트워크를 발견하지 못하는 이유를 설명하지 않지만.개발팀의 조사와 디버그가 필요한 경우 일 수 있습니다.Nice ! Although this does not explain why the node is not discovering the network by its own. This is maybe a case that needs investigation and debug by dev team.
- 1
- 2019-02-16
- iguerNL
-
예,저는 7주기부터 문제 나 변경없이 실행 중입니다 (코드 업데이트 제외).이상해.Yeah, i am running since cycle 7 without problems or changes (Except the code updates). Weired.
- 0
- 2019-02-16
- Blindripper
-
뭔가 효과가있어 기쁩니다.그러나이 스크립트는 다른 사람들과 연결됩니다.문제는 분명히 다른 사람들이 당신과 연결할 수 없다는 것입니다.일반 노드는 안정적인 상태에서 자체적으로 약 50 개 이상의 연결을 얻습니다 (처음 몇 분 내에 10 개 이상).I'm glad something works for you. But again, this script makes connections to others. The problem is surely that others can't connect to you, you should dig more into it instead of using a bandaid. A normal node gets about 50+ connections on its own in its stable state, 10+ within the first few minutes.
- 0
- 2019-02-16
- Frank
-
새로운 정체성을 만든 후에도 문제가 발생했습니다.그래서 블랙리스트와는 아무런 관련이 없다고 생각합니다.그리고 다른 모든 노드가 나를 블랙리스트에 올리는 데 70주기 이상이 걸린다면 이상 할 것입니다.The problem also raised after i've created a new identity. So I think it can not have anything to do with blacklisting. And it would be strange, if all other nodes took more than 70 cycles to blacklist me.
- 0
- 2019-02-17
- Blindripper
-
tzscan은 더 이상 사용할 수 없습니다.https://github.com/Phlogi/tezos-snapshots/blob/master/scripts/addpeers_2.0.sh에서 대안을 확인하십시오.tzscan is not available anymore. Please check https://github.com/Phlogi/tezos-snapshots/blob/master/scripts/addpeers_2.0.sh for an alternative.
- 0
- 2020-01-23
- Phlogi
-
carthagenet에서 작동하지 않고 스크립트 출력은 오류입니다. 거부 된 피어 연결 : 일반적인 네트워크 프로토콜이 없습니다. > 기초 연결 34.246.245.155 ... 오류: 거부 된 피어 연결 : 일반적인 네트워크 프로토콜이 없습니다. > 기초 연결 52.30.97.85 ... 오류: 거부 된 피어 연결 : 일반적인 네트워크 프로토콜이 없습니다.I doesn't work on carthagenet, script output is Error: Rejected peer connection: no common network protocol. > Connecting foundation 34.246.245.155... Error: Rejected peer connection: no common network protocol. > Connecting foundation 52.30.97.85... Error: Rejected peer connection: no common network protocol.
- 0
- 2020-04-02
- saiwaixiaowangzi
-
- 2019-02-15
iguer가 지적했듯이 개인 모드가이 원인 중 하나입니다. 그러나 자세히 설명하자면,이것은 주로 사설 노드가 기본적으로 네트워크에 대한 거머리이기 때문에 개인 모드 노드가 피어 노드에 연결하는 데 덜 유리하기 때문에 발생합니다. 다른 노드를 부트 스트랩하려고하지 않습니다. 프라이빗 노드는 대부분 블록 체인을 확보하고 메모리 풀을 채우기 위해 모니터링 만하며 때로는 베이킹 또는 트랜잭션과 같은 작업을 공유하기도합니다.
기본적으로 비공개 노드는 다른 사람이 연결하는 것을 허용하지 않습니다. 같은 이유로,공용 노드가 다른 사용자의 연결을 허용하지 않으면 "연결이 너무 적음"증상을 공유합니다. 노드 자체가 알려진 피어에 연결을 시도하고 그런 방식으로 체인을 부트 스트랩 할 수 있기 때문에 다른 사람이 연결하도록 허용하는 것은 노드 요구 사항이 아닙니다. 그러나 내 이론은 다른 노드로부터의 연결을 허용하지 않는 노드도 덜 유리한 것으로 간주되므로 일부 노드는 네트워크에 대한 도달 범위를 확장하는 데 도움이되지 않기 때문에 피어로서 노드를 삭제하거나 거부 할 수 있습니다. 방화벽이나 라우터 등을 통해 포트
9732
를 연결할 수 있는지 확실히 확인하겠습니다. ( 공식 문서 에 포트19732
,하지만 제 경험에 비추어 볼 때 잘못된 것 같습니다.)too few connections
이 발생할 수있는 세 번째 이유는 드물지만 지적해야합니다. 잘못된 네트워크 또는 포크/체인 또는 프로토콜에있는 경우 호환되는 노드에만 연결됩니다. 연결된 모든 노드도 동일한 설정에 있습니다. 주의해야 할 점은mainnet
가 아닌master
분기로 바이너리를 컴파일하는 것입니다. 또한 올바른 바이너리 (현재003
프로토콜)를 실행하고 모든 바이너리를 자주 재 컴파일하여 바이너리를 최신 상태로 유지하는 것을 잊지 마십시오 (또는 Riot 또는 Slack에서 그렇게하도록 알림).As iguer pointed out, private mode would be one reason to cause this. But to elaborate, this happens mostly because private mode nodes are less favorable for a peer node to connect to as the private node is basically a leech to the network. It will not try to bootstrap other nodes. Private nodes will mostly just monitor to get the blockchain and fill its mempool, only sometimes occasionally share an operation like baking or transaction.
Fundamentally, a private node does not allow others to connect to it. For the same reason, if your public node does not allow others to connect to it, it will share the "too few connections" symptoms. It's not a node requirement to allow others to connect because the node itself can try to connect to known peers and bootstrap the chain that way. But my theory is that nodes that does not allow connections from others are also considered less favorable, hence some nodes might drop or refuse your node as a peer because it doesn't help expand their reach to the network. I would certainly check to make sure your port
9732
is connectable through your firewall or router or whatever. (Official documentations says it's port19732
, but I believe that's wrong based on my experience.)Third reason why
too few connections
may happen is rare but should be pointed out. If you are on the wrong network or fork/chain or protocol, you will only connected to compatible nodes. All the nodes you are connected will be also on the same setup. Things to watch out for is to make sure to compile your binaries withmainnet
branch, notmaster
. Also, remember to run the correct binaries (currently at003
protocol) and keep your binaries up to date by recompiling every so often(or notified to do so on Riot or Slack).-
세 번째는 나에게 유효했습니다. :) 메인 넷 대신 도커/마스터에서 실행 중이었고 노드는 어떤 피어에도 연결할 수 없습니다.감사합니다!The third one was valid for me :) I was running on a docker/master instead of mainnet and the node could not connect to any peer. Thank you!
- 1
- 2019-02-20
- mitelone
-
- 2019-08-29
다음은tezos 데이터 디렉토리의 config.json 파일에 영구적으로 피어를 추가하는 명령입니다.
<인용구>tezos-node 구성 업데이트 --peer=13.251.160.63 : 9732 --peer=...
이 명령은 안타깝게도 이미 존재하는 항목을 확인하지 않습니다.따라서 동일한 피어를 여러 번 추가 할 수 있습니다.
This is the command to add a peer permanently to the config.json file in the tezos data directory:
tezos-node config update --peer=13.251.160.63:9732 --peer=...
This command does unfortunately not check for already existing entries. So you can end up adding the same peers multiple times.
약 2 일 이후
too few connections (5)
. ".tezos-node/config.json"파일에 피어를 추가하는 것이 도움이 될 것이라고 생각하지만 어떻게 생겼는지 잘 모르겠습니다.IP와 포트를 빈 파일에 추가하고 ./tezos-node 폴더에 넣을 수 있습니까?아니면 config.js가 특정 형식을 가져야하고 특정 (추가) 정보를 포함해야합니까?