Слишком мало подключений, 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
Хорошо,я попытался открыть порты,сгенерировал новую личность,вручную добавил пиров (например,iguer),но ничего не помогло.
Но парень по имени "Krixt" из Slack Tezos Baking написал этот сценарий:
#!/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 /p19b6. >
Этот скрипт - настоящий ускоритель соединения :) Сейчас у меня более 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 цикла без проблем и изменений (кроме обновлений кода).Weired.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
Как указал Игер,одной из причин этого может быть частный режим. Но если уточнить,это происходит главным образом потому,что узлы частного режима менее удобны для подключения однорангового узла,поскольку частный узел в основном является пиявкой для сети. Он не будет пытаться загрузить другие узлы. Частные узлы в основном будут просто отслеживать,чтобы получить блокчейн и заполнить его мемпул,только иногда изредка делятся операциями,такими как запекание или транзакция.
По сути,частный узел не позволяет другим подключаться к нему. По той же причине,если ваш общедоступный узел не позволяет другим подключаться к нему,он будет разделять симптомы «слишком мало подключений». Разрешение другим подключаться не является требованием узла,потому что сам узел может попытаться подключиться к известным одноранговым узлам и таким образом запустить цепочку. Но моя теория заключается в том,что узлы,которые не разрешают подключения от других,также считаются менее благоприятными,поэтому некоторые узлы могут отказаться от вашего узла в качестве однорангового узла,потому что это не помогает расширить их охват в сети. Я бы обязательно проверил,можно ли к вашему порту
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
Это команда для постоянного добавления однорангового узла в файл config.json в каталоге данныхtezos:
<цитата>Обновление конфигурации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.
У меня
too few connections (5)
примерно за 2 дня. Я думаю,что добавление пиров в мой файл ".tezos-node/config.json" должно помочь,но я не уверен,как это должно выглядеть.Могу я просто добавить IP и порт в пустой файл и поместить его в папку ./tezos-node?Или config.js должен иметь определенный формат и содержать конкретную (дополнительную) информацию?