General-grants-program: Erstellen Sie eine Sentry-Knotenkonfiguration für Polkadot-Validierer mit Anleitung

Erstellt am 11. Juni 2019  ·  82Kommentare  ·  Quelle: w3f/General-Grants-Program

Sentry-Knoten sind eine Möglichkeit, Validatoren vor einem DOS-Angriff zu schützen, indem sie nicht direkt dem Internet ausgesetzt werden. Sentry-Knoten sind vollständige Knoten, die sich mit anderen Validatoren und dem Peer-to-Peer-Netzwerk verbinden und den Validator isolieren. Der Validierungsknoten (der mit den Signaturschlüsseln) wird vom Rest des Klatschnetzwerks isoliert gehalten und ist nur mit dem/den Sentry-Knoten verbunden.

Diese Aufgabe besteht darin, eine Sentry-Knotenkonfiguration und ein Skript zu erstellen, mit denen zwei separate Knoten gestartet und miteinander verbunden werden können, sodass einer öffentlich mit dem P2P-Netzwerk (dem Sentry) und der andere nur mit dem Sentry (dem Validator) verbunden ist ). Der Validator sollte weiterhin am Polkadot-Konsens im Alexander-Testnetz teilnehmen können. Wenn alles funktioniert, schreiben Sie eine kurze Anleitung, wie jemand es bereitstellen würde. Sie können den Leitfaden auf dem aktuellen Validator-Leitfaden für Polkadot aufbauen. Wiederholen Sie jedoch keine bereits dort geschriebenen Inhalte, sondern schreiben Sie Ihren Leitfaden als „Erweiterung“ zu diesem bereits vorhandenen.

Bounty Bounty-s

Hilfreichster Kommentar

lol Entschuldigung, ich habe @gitcoinbot für 100 Tage @agutsal stummgeschaltet

Alle 82 Kommentare

Problemstatus: 1. Offen 2. Begonnen 3. Eingereicht 4. Fertig


__Diese Ausgabe ist jetzt mit einer Finanzierung von 150,0 DAI (150,0 USD @ 1,0 $/DAI) verbunden.__

Problemstatus: 1. Offen 2. Begonnen 3. Eingereicht 4. Fertig


__Arbeitnehmer haben sich um Arbeitsaufnahme beworben__.

Diese Benutzer behaupteten jeweils, sie könnten die Arbeit in 12 Monaten ab jetzt abschließen.
Bitte überprüfen Sie ihre Aktionspläne unten:

1) gutsal-arsen hat sich beworben, mit der Arbeit zu beginnen _(nur Förderer: Arbeitskraft genehmigen | Arbeitskraft ablehnen )_.

Erstellen Sie eine 2-Knoten-Konfiguration (Sentry und Validator), erstellen Sie einen Bereitstellungsleitfaden.

Erfahren Sie mehr auf der Seite Gitcoin Issue Details .

@Web3Foundation auf Gitcoin angewendet. Könnten Sie zustimmen?

Hey @agutsal gitcoin ist im Moment nicht verfügbar, sobald die Wiederaufnahme der Dienste überprüft wird!

Problemstatus: 1. Offen 2. Begonnen 3. Eingereicht 4. Fertig


__Die Arbeit wurde begonnen__.

Diese Benutzer behaupteten jeweils, dass sie die Arbeit in 9 Monaten, 1 Woche ab jetzt abschließen können.
Bitte überprüfen Sie ihre Aktionspläne unten:

1) gutsal-arsen wurde genehmigt, um mit der Arbeit zu beginnen.

Erstellen Sie eine 2-Knoten-Konfiguration (Sentry und Validator), erstellen Sie einen Bereitstellungsleitfaden.

Erfahren Sie mehr auf der Seite Gitcoin Issue Details .

@agutsal Sie wurden genehmigt, um mit der Arbeit zu beginnen.

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gitcoinbot am Leben, wird bald aktualisiert

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@agutsal super freue mich drauf! :)

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gitcoinbot warte ein bisschen

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gitcoinbot funktioniert

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@Web3Foundation hat versucht, mit Polkadot Dockerfile zu bauen.
docker build --tag polkadot -f Dockerfile . Befehl schlägt fehl mit:

image

Zweimal probiert - gleiches Ergebnis.

@agutsal Baust du aus dem Master-Zweig oder dem v0.4-Zweig? Es könnte besser sein, von v0.4 aus zu bauen, da es stabiler ist und eine Verbindung zum Alexander-Testnetz herstellt.

Bitte wenden Sie sich an @ logan:web3.foundation auf Riot, um eine unmittelbarere Kommunikation zu erhalten.

Noch schlimmer bei v0.4 :
image

@lsaether @Web3Foundation

@lsaether was ist Riot? Gib mir bitte den Link

Dies sieht so aus, als würden Sie die Wasm-Binärdatei nicht kompilieren, bevor Sie cargo build ausführen. Versuchen Sie zuerst, das Skript in scripts/build.sh auszuführen

@lsaether Ich laufe gerade docker/build.sh noch. Ich gehe davon aus, dass es funktioniert, aber so wie ich es sehe, funktioniert es nicht ;)

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@lsaether @Web3Foundation scheint Dockerfile PR #308 repariert zu haben

Bitte zusammenführen.

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gitcoinbot in Bearbeitung

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gitcoinbot spricht auf PR #308

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gitcoinbot halt bitte die Klappe

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gitcoinbot

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gitcoinbot hat gerade die Diskussion über die jüngsten WIP-PR beendet und funktioniert weiter

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

lol Entschuldigung, ich habe @gitcoinbot für 100 Tage @agutsal stummgeschaltet

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@Web3Foundation danke

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@Web3Foundation scheint stumm zu schalten funktioniert nicht ;(
@gitcoinbot Ja, ich arbeite immer noch an der Docker-Compose-Netzwerkkonfiguration, um einen Knoten hinter dem anderen auszuführen. @Web3Foundation plz, bestätigen Sie, dass Sie das erwarten.

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@gutsal-arsen Hallo von Gitcoin Core – arbeitest du noch an diesem Problem? Bitte reichen Sie innerhalb der nächsten 3 Tage eine WIP-PR ein oder kommentieren Sie zurück. Andernfalls werden Sie aus diesem Ticket entfernt und es erhält wieder den Status „Offen“. Bitte lassen Sie uns wissen, wenn Sie Fragen haben!

  • [x] Erinnerung (3 Tage)
  • [ ] Eskalation zu Mods (6 Tage)

Nur Geldgeber: Warnungen für 1 Tag zurückstellen | 3 Tage | 5 Tage | 10 Tage | 100 Tage

@Web3Foundation Ich warte immer noch auf Ihre Antwort auf meine Erklärung im vorherigen Kommentar oben. Ist die Docker-Compose-Konfiguration für benutzerdefinierte virtuelle Netzwerke das, was Sie erwarten, wenn zwei Knoten hintereinander ausgeführt werden?

Hey @agutsal entschuldige die lange Antwort; @lsaether oder @fgimenez könnten sich hier wahrscheinlich auf die Frage einschalten

"Ist die benutzerdefinierte Docker-Compose-Konfiguration für virtuelle Netzwerke das, was Sie erwarten, wenn zwei Knoten hintereinander ausgeführt werden?"

Wahrscheinlich sind @lsaether @fgimenez beide im Urlaub, @Web3Foundation ? ;)

Werde jetzt nochmal pingen, @agutsal war gerade super beschäftigt, entschuldigt nochmal das Warten.

Richtig, zwei Knoten, einer läuft "hinter" dem anderen. Der Sentry-Knoten ist dem öffentlichen Netzwerk zugewandt (und verbindet sich mit dem Rest des P2P-Netzwerks). Der Validierungsknoten befindet sich hinter einer Firewall und kann nur mit dem Sentry-Knoten kommunizieren.

* öffentliches Netzwerk * <---> Sentry-Knoten <-- Firewall --> Validator-Knoten

https://guide.kusama.network/en/latest/try/secure-validator-setup/

Fühlen Sie sich frei, mich anzupingen, wenn Sie weitere Fragen haben.

@laboon noch einmal - wir sprechen beide über die private Netzwerkkonfiguration von Compose.

Entschuldigung, ich wurde gerade darauf hingewiesen und habe Ihre Frage falsch verstanden. Federico, von dem ich glaube, dass er diese Anfrage zusammengestellt hat, ist diese Woche im Urlaub.

_"Erwarten Sie eine benutzerdefinierte virtuelle Docker-Compose-Netzwerkkonfiguration, bei der zwei Knoten hintereinander ausgeführt werden?""_

Die Verwendung von Docker Compose zum Erstellen eines isolierten privaten Netzwerks ist sicherlich eine Möglichkeit, dies zu tun, und sollte akzeptabel sein. Ich weiß jedoch nicht, ob dies die ursprüngliche Erwartung war (ich sehe hier nichts Gegenteiliges - ich bin mir nicht sicher, ob Sie anderswo private Kommunikation haben).

Lassen Sie es mich gerne wissen, wenn ich Ihre Frage nicht beantwortet habe.

@agutsal wie ich es sehe, reichen die von Docker-Compose erstellten Overlay-Netzwerke nicht aus, um einen Validator-Knoten vom Rest des Polkadot-Netzwerks zu isolieren. Sobald sich der Validator mit seinen Boot-Knoten verbindet, ist er dem Netzwerk bekannt, und wenn Sie keine zusätzlichen Maßnahmen ergreifen, können sich andere Peer-Knoten damit verbinden. Sie können dies alles überprüfen, indem Sie das Netzwerk mit einer Docker-Compose-Datei wie dieser starten:

version: '3'
services:
  node:
    image: parity/polkadot:v0.4.4
    container_name: polkadot-node 
    command: >
      --chain=alexander --validator 
    networks: 
      testing_net: 
        ipv4_address: 172.28.1.1 

networks:
  testing_net:
    ipam:        
      driver: default 
      config:            
        - subnet: 172.28.0.0/16  

Dieser einzelne Knoten hat eine interne IP-Adresse, deklariert keinen P2P-Port für den Zugriff von außen und hat keinen zusätzlichen Peer im lokalen Overlay-Netzwerk. Wenn ich den Knoten starte:

$ docker-compose -f dcp.yml up --force-recreate 
Recreating polkadot-node ... done
Attaching to polkadot-node
polkadot-node | 2019-08-12 08:52:16 Parity Polkadot
polkadot-node | 2019-08-12 08:52:16   version 0.4.4-aa49754-x86_64-linux-gnu
polkadot-node | 2019-08-12 08:52:16   by Parity Team <[email protected]>, 2017-2019
polkadot-node | 2019-08-12 08:52:16 Chain specification: Alexander
polkadot-node | 2019-08-12 08:52:16 Node name: dcp-test
polkadot-node | 2019-08-12 08:52:16 Roles: AUTHORITY
polkadot-node | 2019-08-12 08:52:16 Generated a new keypair: 568dbb11bcc8f4bd1480d381e2ee87f9e1ff3798c99efa23f550dcce7417a506 (5E2C5Usq...)
polkadot-node | 2019-08-12 08:52:16 Initializing Genesis block/state (state: 0xb7d6…2707, header-hash: 0xdcd1…025b)
polkadot-node | 2019-08-12 08:52:16 Loaded block-time = 6 seconds from genesis on first-launch
polkadot-node | 2019-08-12 08:52:16 Loading GRANDPA authority set from genesis on what appears to be first startup.
polkadot-node | 2019-08-12 08:52:16 Best block: #0
polkadot-node | 2019-08-12 08:52:16 Local node identity is: QmWg2c4V6qq1hFYUcbkmckUgtMfWiC7aq5u9e8X5Sq45Tu
polkadot-node | 2019-08-12 08:52:16 Listening for new connections on 127.0.0.1:9944.
polkadot-node | 2019-08-12 08:52:17 Using authority key 5E2C5Usqi8UhQLCB1CGobhB5aGMg6zWxvg2h7Vq39tWbj14Q
polkadot-node | 2019-08-12 08:52:18 Discovered external node address: /ip4/92.176.206.107/tcp/30333/p2p/QmWg2c4V6qq1hFYUcbkmckUgtMfWiC7aq5u9e8X5Sq45Tu
polkadot-node | 2019-08-12 08:52:22 Syncing, target=#2614309 (2 peers), best: #256 (0x7e81…c0f7), finalized #0 (0xdcd1…025b), ⬇ 84.0kiB/s ⬆ 5.9kiB/s
polkadot-node | 2019-08-12 08:52:28 Syncing 93.9 bps, target=#2614310 (4 peers), best: #896 (0x6da8…cd8f), finalized #0 (0xdcd1…025b), ⬇ 30.6kiB/s ⬆ 1.7kiB/s
polkadot-node | 2019-08-12 08:52:35 Syncing 94.4 bps, target=#2614311 (5 peers), best: #1536 (0xf9b0…8351), finalized #0 (0xdcd1…025b), ⬇ 34.8kiB/s ⬆ 3.1kiB/s
polkadot-node | 2019-08-12 08:52:41 Syncing 93.9 bps, target=#2614312 (5 peers), best: #2048 (0xaa1c…3b27), finalized #0 (0xdcd1…025b), ⬇ 40.4kiB/s ⬆ 2.8kiB/s
polkadot-node | 2019-08-12 08:52:46 Syncing 93.4 bps, target=#2614313 (5 peers), best: #2515 (0x8bff…4f0b), finalized #0 (0xdcd1…025b), ⬇ 7.6kiB/s ⬆ 1.3kiB/s
polkadot-node | 2019-08-12 08:52:51 Syncing 93.2 bps, target=#2614314 (5 peers), best: #2981 (0x47ab…67bd), finalized #0 (0xdcd1…025b), ⬇ 6.0kiB/s ⬆ 0.3kiB/s

[..........]

Sie können sehen, dass sich andere Peers gleich nach dem Start problemlos damit verbinden können.

Ich denke jedoch, dass das Overlay-Netzwerk ein guter Schritt in die richtige Richtung ist, es erstellt einen Netzwerkadressraum, der nur den Mitgliedern des Netzwerks bekannt ist, und Sie könnten den Validator und die öffentlichen Knoten so konfigurieren, dass der Zugriff eingeschränkt wird, möglicherweise unter Verwendung der Polkadot-Binärdatei Optionen listen-addr und reserved-nodes . Wir haben ein sicheres Validator-Setup vorgeschlagen, das diesen Ansatz verwendet, aber anstatt ein Docker-Overlay-Netzwerk für den Adressraum des privaten Netzwerks zu verwenden, verwendet es ein VPN für erhöhte Sicherheit. Schau mal hier https://hackmd.io/QSJlqjZpQBihEU_ojmtR8g#Conclusions -and-Proposal

@fgimenez wie hier erwähnt würde das nicht funktionieren:

# Docker compose file to simulate a sentry node setup.
#
#
# Setup:
#
# Validator A is not supposed to be connected to the public internet. Instead it
# connects to a sentry node (sentry-a) which connects to the public internet.
# Validator B can reach validator A via sentry node A and vice versa.
#
#
# Usage:
#
# 1. Build `target/release/substrate` binary: `cargo build --release`
#
# 2. Start networks and containers: `sudo docker-compose -f scripts/sentry-node/docker-compose.yml up`
#
# 3. Reach:
#   - polkadot/apps on localhost:3000
#   - validator-a: localhost:9944
#   - validator-b: localhost:9945
#   - sentry-a: localhost:9946

version: "3.7"
services:

  validator-a:
    ports:
      - "9944:9944"
    volumes:
      - ../../target/release/substrate:/usr/local/bin/substrate
    image: parity/substrate
    networks:
      - network-a
    command:
      # Local node id: QmRpheLN4JWdAnY7HGJfWFNbfkQCb6tFf4vvA6hgjMZKrR
      - "--node-key"
      - "0000000000000000000000000000000000000000000000000000000000000001"
      - "--base-path"
      - "/tmp/alice"
      - "--chain=local"
      - "--key"
      - "//Alice"
      - "--port"
      - "30333"
      - "--validator"
      - "--name"
      - "AlicesNode"
      - "--reserved-nodes"
      - "/dns4/sentry-a/tcp/30333/p2p/QmV7EhW6J6KgmNdr558RH1mPx2xGGznW7At4BhXzntRFsi"
      # Not only bind to localhost.
      - "--ws-external"
      - "--rpc-external"
      # - "--log"
      # - "sub-libp2p=trace"
      # - "--log"
      # - "afg=trace"
      - "--no-telemetry"
      - "--rpc-cors"
      - "all"

  sentry-a:
    image: parity/substrate
    ports:
      - "9946:9944"
    volumes:
      - ../../target/release/substrate:/usr/local/bin/substrate
    networks:
      - network-a
      - internet
    command:
      # Local node id: QmV7EhW6J6KgmNdr558RH1mPx2xGGznW7At4BhXzntRFsi
      - "--node-key"
      - "0000000000000000000000000000000000000000000000000000000000000003"
      - "--base-path"
      - "/tmp/sentry"
      - "--chain=local"
      # Don't configure a key, as sentry-a is not a validator.
      # - "--key"
      # - "//Charlie"
      - "--port"
      - "30333"
      # sentry-a is not a validator.
      # - "--validator"
      - "--name"
      - "CharliesNode"
      - "--bootnodes"
      - "/dns4/validator-a/tcp/30333/p2p/QmRpheLN4JWdAnY7HGJfWFNbfkQCb6tFf4vvA6hgjMZKrR"
      - "--bootnodes"
      - "/dns4/validator-b/tcp/30333/p2p/QmSVnNf9HwVMT1Y4cK1P6aoJcEZjmoTXpjKBmAABLMnZEk"
      - "--no-telemetry"
      - "--rpc-cors"
      - "all"
      # Not only bind to localhost.
      - "--ws-external"
      - "--rpc-external"
      # Make sure sentry-a still participates as a grandpa voter to forward
      # grandpa finality gossip messages.
      - "--grandpa-voter"

  validator-b:
    image: parity/substrate
    ports:
      - "9945:9944"
    volumes:
      - ../../target/release/substrate:/usr/local/bin/substrate
    networks:
      - internet
    command:
      # Local node id: QmSVnNf9HwVMT1Y4cK1P6aoJcEZjmoTXpjKBmAABLMnZEk
      - "--node-key"
      - "0000000000000000000000000000000000000000000000000000000000000002"
      - "--base-path"
      - "/tmp/bob"
      - "--chain=local"
      - "--key"
      - "//Bob"
      - "--port"
      - "30333"
      - "--validator"
      - "--name"
      - "BobsNode"
      - "--bootnodes"
      - "/dns4/validator-a/tcp/30333/p2p/QmRpheLN4JWdAnY7HGJfWFNbfkQCb6tFf4vvA6hgjMZKrR"
      - "--bootnodes"
      - "/dns4/sentry-a/tcp/30333/p2p/QmV7EhW6J6KgmNdr558RH1mPx2xGGznW7At4BhXzntRFsi"
      - "--no-telemetry"
      - "--rpc-cors"
      - "all"
      # Not only bind to localhost.
      - "--ws-external"
      - "--rpc-external"

  ui:
    image: polkadot-js/apps
    ports:
      - "3000:80"

networks:
  network-a:
  internet:

@fgimenez Nun , ich würde diesen Ansatz nach ein paar Tagen der Stille in Betracht ziehen

@agutsal tut mir leid für die späte Antwort, die Kombination von reservierten Knoten und Bootnodes ist eine gute Option. Wie in meinem vorherigen Kommentar erwähnt, würde ich auch listen-addr in den Validator mit der Validator-IP im Docker-Compose-Overlay-Netzwerk einführen, sodass Sie sicherstellen, dass der Validator nur Verbindungen von Peers in diesem Adressraum akzeptiert.

Danke für deine Antwort. Soweit ich sehe, verwenden sie das Docker-Image substrate , was wir nicht sind.

Grundsätzlich sollte ich folgendes beachten:
docker run -ti parity/polkadot:v0.4.4 --chain=alex --alice <== Wache ausführen
es erzeugt so etwas, wo ich nach Discovered external node address sollte
image
dann übergeben Sie es so an den Validator:
docker run -ti parity/polkadot:v0.4.4 --chain=local --validator --reserved-nodes /ip4/5.58.235.221/tcp/30333/p2p/QmVUPpkU2LoBMqhagLmF6H2Xnb4ShK8KV2ZzKeJkmGGBkX

Wenn das richtig ist, wo soll bootnodes übergeben werden? Wenn nicht - repariere mich bitte, @fgimenez

Wie ich es sehe, sollten Sie keine extern entdeckte Adresse verwenden, sondern wenn Sie eine Multiaddr verwenden sollten, die die IP des öffentlichen Knotens im Docker-Compose-Overlay-Netzwerk enthält. Nicht sicher, ob Sie es wissen können, bevor das Docker-Compose-Netzwerk gestartet wird.

Ich habe Bootnodes nur erwähnt, weil sie in dem Beispiel, das Sie l8nkten, auftauchten, Sie brauchen sie nur, wenn Sie ein lokales Netzwerk erstellen wollen. Wenn Sie Alex oder (was imo besser wäre) Kusama beitreten, sind die Bootnodes bereits in der Chainspec definiert.

@fgimenez gemäß den Anforderungen sollte der Validierungsknoten eine Verbindung zum Wachknoten herstellen. Ich muss wissen, wie das geht. Das ist es.

Ja, dies geschieht durch Setzen von --reserved-nodes im Validator mit multiaddr der öffentlichen Knoten (ein reservierter Knoten pro öffentlichem Knoten). Es sollte besser sein, hier die private Adresse des öffentlichen Knotens für die multiaddr zu verwenden, ist das sinnvoll?

@fgimenez ;) könnte sein, kenne nur das Format des Parameters --reserved-nodes nicht, der die Multiaddr angibt. Wäre für Muster dankbar.

sicher, so etwas /ip4/<private_ip>/tcp/30333/p2p/<peer_id>

Sie sollten die private IP als diejenige festlegen, die dem öffentlichen Knoten im Docker-Compose-Overlay-Netzwerk zugewiesen ist. Die Peer-ID wird beim Booten zufällig zugewiesen, wenn Sie keinen Knotenschlüssel mit --node-key angeben. Dieser Knotenschlüssel sollte eine 64-Hex-Zeichenfolge sein. Sie können versuchen, einen Knoten lokal zu starten, indem Sie einen bekannten Knotenschlüssel festlegen und dann prüfen, welche Peer-ID zugewiesen ist, und diese Peer-ID verwenden, um die reservierte Knoten-Multiadresse zu erstellen.

Also für jeden öffentlichen Knoten:

  • Starten Sie einen lokalen Knoten mit polkadot --node-key=<your_node_key>
  • Notieren Sie sich die zugewiesene Peer-ID
  • Stellen Sie den Startbefehl des öffentlichen Knotens so ein, dass er --node-key in den vorherigen Wert einbezieht, sodass Sie sicherstellen, dass er immer dieselbe Peer-ID hat
  • konstruieren Sie die multiaddr als /ip4/<private_ip>/tcp/30333/p2p/<peer_id>

und starten Sie den Validator mit einem --reserved-nodes -Set für jeden öffentlichen Knoten multiaddr

Lassen Sie mich wissen, wenn Sie noch etwas brauchen.

@fgimenez Ich denke gerade darüber nach, wie ich diesen zweistufigen Prozess in einer einzigen docker-compose.yml -Datei erstellen kann. Sagen Sie mir - <your_node_key> könnte zufällig als UUID generiert werden?

Etwa so: $(openssl rand -base64 500 | tr -dc 'a-zA-Z0-9' | fold -w 45 | head -n 1)

Sie können eine der libp2p-Bibliotheken zum Generieren der Peer-ID und des zugehörigen Schlüsselpaars verwenden, z. B. https://github.com/libp2p/js-peer-id node-key ist der private Schlüssel mit einer Länge von 256 Bit.

@fgimenez plz, überprüfen Sie meine WIP-PR

Führen Sie im Verzeichnis docker einfach docker-compose -f sentry-docker-compose.yml up aus und sehen Sie sich die Ausgabe an. Scheint, dass der Validator erfolgreich eine Verbindung zum Sentry als Peer herstellt.

Wenn ich akzeptiert werde, füge ich weitere Konfigurationen hinzu und pushe, um mit dem Master zusammengeführt zu werden.

Werde nächste Woche mal schauen :+1:

@fgimenez Einige Updates wurden auf meine WIP RP übertragen
Bitte lassen Sie es mich nach der Überprüfung wissen.

@agutsal sieht gut aus, es ist https://github.com/paritytech/substrate/blob/master/scripts/sentry-node/docker-compose.yml ziemlich ähnlich, richtig? Welchen Vorteil hat es, es zu Polkadots Repo hinzuzufügen?

Nun, @fgimenez , es basiert eigentlich auf sentry-node/docker-compose.yml , hat aber erhebliche Unterschiede: Wir können eine Reihe von Umgebungsvariablen übergeben, um beide Container zu steuern:

{SENTRY,VALIDATOR}_NODE_KEY
{SENTRY,VALIDATOR}_BASE_PATH
{SENTRY,VALIDATOR}_CHAIN
{SENTRY,VALIDATOR}_PORT
{SENTRY,VALIDATOR}_NAME
VALIDATOR_RESERVED_NODES
SENTRY_BOOTNODES

Dies ist ein Muss, um Sentry/Validator mit eindeutigem NODE_KEY, RESERVED_NODES/BOOTNODES URI in einer öffentlichen (nicht lokalen) Kette auszuführen.
Standardmäßig läuft es mit 000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000003

was zum Testen in Ordnung ist, aber nicht für die Produktion. Außerdem wurden einige redundante Parameter gelöscht.

Problemstatus: 1. Offen 2. Begonnen 3. Eingereicht 4. Fertig


__Arbeit für 150,0 DAI (150,0 USD @ 1,0 $/DAI) wurde eingereicht von__:

  1. @gutsal-arsen

@Web3Foundation bitte werfen Sie einen Blick auf die eingereichten Arbeiten:

  • PR von @gutsal-arsen

Problemstatus: 1. Offen 2. Begonnen 3. Eingereicht 4. Fertig


__Die mit dieser Ausgabe verbundene Finanzierung von 150,0 DAI (150,0 USD @ 1,0 $/DAI) wurde genehmigt und an @gutsal-arsen ausgegeben.__

@Web3Foundation Vielen Dank für Ihre Zahlung. Ich denke jedoch, dass ich auch Dokumente im Rahmen des aktuellen Projekts reparieren muss. Das aktuelle Repository enthält keine Dokumente, sollte ich https://github.com/w3f/polkadot-wiki klonen und sie dort reparieren?

@agutsal sicher; Es gab einige wiederholte Anstrengungen, da @fgimenez ein Tool erstellt hatte, das dieses Problem möglicherweise erfolgreicher löst. Wir haben aufgrund Ihrer wiederholten Bemühungen im Ökosystem und der laufenden jeweiligen Zeit, die Sie für frühere Prämien und diese genommen haben, ausgezahlt.

Fühlen Sie sich frei, die Dokumentation zu ändern und Kommentare zur Überprüfung zu hinterlassen.

Danke für die Information. Würde heute daran arbeiten und Sie wissen lassen @fgimenez @Web3Foundation.

Schließen, da Sentry-Knoten veraltet sind.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

EdwardAThomson picture EdwardAThomson  ·  7Kommentare

EdwardAThomson picture EdwardAThomson  ·  17Kommentare

EdwardAThomson picture EdwardAThomson  ·  7Kommentare

EdwardAThomson picture EdwardAThomson  ·  6Kommentare

EdwardAThomson picture EdwardAThomson  ·  9Kommentare