General-grants-program: Buat konfigurasi node penjaga untuk validator Polkadot dengan panduan

Dibuat pada 11 Jun 2019  ·  82Komentar  ·  Sumber: w3f/General-Grants-Program

Node penjaga adalah salah satu cara untuk melindungi validator dari serangan DOS dengan tidak memaparkannya secara langsung ke internet. Node penjaga adalah node penuh yang terhubung ke validator lain dan jaringan peer-to-peer dan mengisolasi validator. Node validator (yang memiliki kunci penandatanganan) tetap terisolasi dari jaringan gosip lainnya dan hanya terhubung ke node penjaga.

Tugas ini adalah membuat konfigurasi dan skrip node penjaga yang dapat meluncurkan dua node terpisah dan menghubungkannya satu sama lain sehingga yang satu menghadap publik ke jaringan p2p (penjaga) dan yang lainnya hanya terhubung ke penjaga (validator ). Validator harus tetap dapat berpartisipasi dalam konsensus Polkadot di Alexander testnet. Ketika semuanya berfungsi, tulis panduan singkat tentang bagaimana seseorang akan menerapkannya. Anda dapat mendasarkan panduan pada panduan validator saat ini untuk Polkadot. Namun, jangan ulangi konten yang sudah tertulis di sana, alih-alih tulis panduan Anda sebagai "perpanjangan" dari panduan yang sudah ada ini.

Bounty Bounty-s

Komentar yang paling membantu

lol maaf saya telah menonaktifkan @gitcoinbot selama 100 hari @agutsal

Semua 82 komentar

Status Masalah: 1. Buka 2. Mulai 3. Dikirim 4. Selesai


__Masalah ini sekarang memiliki dana sebesar 150,0 DAI (150,0 USD @ $1,0/DAI) yang menyertainya.__

Status Masalah: 1. Buka 2. Mulai 3. Dikirim 4. Selesai


__Pekerja telah melamar untuk mulai bekerja__.

Pengguna ini masing-masing mengklaim bahwa mereka dapat menyelesaikan pekerjaan dalam waktu 12 bulan dari sekarang.
Silakan tinjau rencana aksi mereka di bawah ini:

1) gutsal-arsen telah melamar untuk mulai bekerja _(Hanya penyandang dana: menyetujui pekerja | menolak pekerja )_.

Buat konfigurasi 2-node (penjaga dan validator), buat panduan penerapan.

Pelajari lebih lanjut di halaman Detail Masalah Gitcoin .

@Web3Foundation diterapkan di Gitcoin. Bisakah Anda menyetujui?

Hai @agutsal gitcoin sedang down saat ini setelah layanan dilanjutkan akan ditinjau!

Status Masalah: 1. Buka 2. Mulai 3. Dikirim 4. Selesai


__Pekerjaan telah dimulai__.

Pengguna ini masing-masing mengklaim bahwa mereka dapat menyelesaikan pekerjaan dalam waktu 9 bulan, 1 minggu dari sekarang.
Silakan tinjau rencana aksi mereka di bawah ini:

1) gutsal-arsen telah disetujui untuk mulai bekerja.

Buat konfigurasi 2-node (penjaga dan validator), buat panduan penerapan.

Pelajari lebih lanjut di halaman Detail Masalah Gitcoin .

@agutsal Anda telah disetujui untuk mulai bekerja.

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gitcoinbot hidup, akan segera diperbarui

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@agutsal sangat menantikannya! :)

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gitcoinbot tunggu sebentar

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gitcoinbot bekerja

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@Web3Foundation mencoba membangun menggunakan polkadot Dockerfile .
docker build --tag polkadot -f Dockerfile . perintah gagal dengan:

image

Mencoba dua kali - hasil yang sama.

@agutsal Apakah Anda membangun dari cabang master atau cabang v0.4? Mungkin lebih baik untuk membangun dari v0.4 karena lebih stabil dan akan terhubung ke Alexander testnet.

Silakan hubungi @ logan:web3.foundation di Riot untuk komunikasi lebih cepat.

Lebih buruk lagi pada v0.4 :
image

@lsaether @Web3Foundation

@lsaether apa itu kerusuhan? Beri saya tautannya pliz

Sepertinya Anda tidak mengkompilasi biner Wasm sebelum menjalankan cargo build , coba jalankan skrip di scripts/build.sh terlebih dahulu

@lsaether Saya baru saja menjalankan docker/build.sh . Saya menganggap itu berhasil, tetapi dari apa yang saya lihat tidak;)

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@lsaether @Web3Foundation sepertinya saya sudah memperbaiki Dockerfile PR #308

Silakan gabung.

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gitcoinbot sedang berlangsung

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gitcoinbot berbicara tentang PR #308

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gitcoinbot tolong tutup mulut

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gitcoinbot

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gitcoinbot baru saja menyelesaikan diskusi tentang PR WIP baru-baru ini terus bekerja

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

lol maaf saya telah menonaktifkan @gitcoinbot selama 100 hari @agutsal

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@Web3Foundation thx

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@Web3Foundation tampaknya bisu tidak berfungsi ;(
@gitcoinbot ya, saya masih mengerjakan konfigurasi jaringan docker-compose untuk menjalankan satu node di belakang yang lain. @Web3Foundation tolong , konfirmasikan itu yang Anda harapkan.

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@gutsal-arsen Halo dari Gitcoin Core - apakah Anda masih mengerjakan masalah ini? Silakan kirimkan PR WIP atau komentar kembali dalam 3 hari ke depan atau Anda akan dikeluarkan dari tiket ini dan akan dikembalikan ke status 'Buka'. Beri tahu kami jika Anda memiliki pertanyaan!

  • [x] pengingat (3 hari)
  • [ ] eskalasi ke mod (6 hari)

Khusus penyandang dana: Tunda peringatan selama 1 hari | 3 hari | 5 hari | 10 hari | 100 hari

@Web3Foundation Saya masih menunggu tanggapan Anda atas penjelasan saya di komentar sebelumnya di atas. Apakah konfigurasi jaringan virtual kustom docker-compose yang Anda harapkan memiliki 2 node yang berjalan satu di belakang yang lain?

Hai @agutsal maaf atas tanggapannya yang lama; @lsaether atau @fgimenez mungkin bisa menjawab pertanyaan tentang

"apakah konfigurasi jaringan virtual kustom docker-compose yang Anda harapkan memiliki 2 node yang berjalan satu di belakang yang lain?"

Mungkin @lsaether @fgimenez sama-sama sedang berlibur, @Web3Foundation ? ;)

Akan melakukan ping lagi sekarang, @agutsal hal-hal baru saja super sibuk, maaf sekali lagi untuk menunggu.

Benar, dua node, satu berjalan "di belakang" yang lain. Simpul penjaga menghadap jaringan publik (dan terhubung ke jaringan p2p lainnya). Node validator berada di belakang firewall dan hanya dapat berkomunikasi dengan node penjaga.

* jaringan publik * <---> Sentry node <-- firewall --> Validator node

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

Jangan ragu untuk ping saya jika Anda memiliki pertanyaan lain.

@laboon sekali lagi - kami berdua berbicara tentang Buat konfigurasi jaringan pribadi .

Maaf, saya baru saja menunjuk ini dan salah memahami pertanyaan Anda. Federico, yang saya yakini mengajukan permintaan ini, sedang berlibur minggu ini.

_"apakah konfigurasi jaringan virtual khusus docker-compose yang Anda harapkan memiliki 2 node yang berjalan satu di belakang yang lain?""_

Menggunakan Docker Compose untuk membuat jaringan pribadi yang terisolasi tentu saja merupakan salah satu cara untuk melakukannya dan harus dapat diterima. Saya tidak tahu apakah itu harapan aslinya, namun (saya tidak melihat sesuatu yang sebaliknya di sini - tidak yakin apakah Anda memiliki komunikasi pribadi di tempat lain).

Jangan ragu untuk memberi tahu saya jika saya tidak menjawab pertanyaan Anda.

@agutsal seperti yang saya lihat, jaringan overlay yang dibuat oleh docker-compose tidak cukup untuk mengisolasi simpul validator dari sisa jaringan polkadot; segera setelah validator terhubung ke node bootnya, itu akan diketahui oleh jaringan, dan jika Anda tidak menerapkan tindakan tambahan apa pun, node peer lain akan dapat terhubung ke sana. Anda dapat memverifikasi semua ini dengan memulai jaringan dengan file penulisan buruh pelabuhan seperti ini:

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  

Node tunggal ini memiliki alamat ip internal, tidak mendeklarasikan port p2p untuk diakses dari luar dan tidak memiliki rekan tambahan di jaringan overlay lokal. Ketika saya memulai simpul:

$ 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

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

Anda dapat melihat bahwa rekan-rekan lain dapat terhubung dengan mudah setelah memulai.

Namun, saya pikir jaringan overlay adalah langkah yang baik ke arah yang benar, itu menciptakan ruang alamat jaringan yang hanya diketahui oleh anggota jaringan, dan Anda dapat mengonfigurasi validator dan node publik untuk membatasi akses, mungkin menggunakan biner polkadot opsi listen-addr dan reserved-nodes . Kami mengusulkan penyiapan validator aman yang menggunakan pendekatan ini, tetapi alih-alih menggunakan jaringan overlay buruh pelabuhan untuk ruang alamat jaringan pribadi, ia menggunakan VPN untuk meningkatkan keamanan. Lihat di sini https://hackmd.io/QSJlqjZpQBihEU_ojmtR8g#Conclusions -and-Proposal

@fgimenez seperti yang disebutkan di sini bukankah ini akan berhasil:

# 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 baik, saya akan mempertimbangkan pendekatan itu setelah beberapa hari hening

@agutsal benar-benar maaf atas respons yang terlambat, menggabungkan node yang dipesan dan bootnode adalah pilihan yang baik. Seperti yang dinyatakan dalam komentar saya sebelumnya, saya juga akan memperkenalkan listen-addr di validator dengan ip validator di jaringan overlay penulisan buruh pelabuhan, sehingga Anda memastikan bahwa validator hanya menerima koneksi dari rekan-rekan di ruang alamat itu.

Terima kasih untuk balasan Anda. Dari apa yang saya lihat mereka menggunakan gambar buruh pelabuhan substrate yang bukan kami.

Pada dasarnya saya harus mengikuti ini:
docker run -ti parity/polkadot:v0.4.4 --chain=alex --alice <== jalankan penjaga
itu menghasilkan sesuatu seperti ini di mana saya harus memeriksa Discovered external node address
image
lalu berikan ke validator seperti itu:
docker run -ti parity/polkadot:v0.4.4 --chain=local --validator --reserved-nodes /ip4/5.58.235.221/tcp/30333/p2p/QmVUPpkU2LoBMqhagLmF6H2Xnb4ShK8KV2ZzKeJkmGGBkX

Jika itu benar ke mana harus lulus bootnodes ? Jika tidak - tolong perbaiki saya, @fgimenez

Seperti yang saya lihat, Anda tidak boleh menggunakan alamat yang ditemukan eksternal, alih-alih jika Anda harus menggunakan multiaddr yang menyertakan ip simpul publik pada jaringan overlay penulisan buruh pelabuhan. Tidak yakin apakah Anda dapat mengetahuinya sebelum jaringan penulisan buruh pelabuhan diluncurkan.

Saya hanya menyebutkan bootnodes karena mereka muncul dalam contoh yang Anda l8nked, Anda hanya membutuhkannya jika Anda akan membuat jaringan lokal. Jika Anda akan bergabung dengan alex atau (apa yang akan lebih baik imo) kusama, bootnode sudah ditentukan di chainspec.

@fgimenez sesuai kebutuhan node validator harus terhubung ke node penjaga. Saya perlu tahu bagaimana melakukannya. Itu dia.

Ya, ini dilakukan dengan menyetel --reserved-nodes di validator dengan multiaddr dari node publik (satu reserved-node per node publik). Seharusnya lebih baik menggunakan di sini alamat pribadi dari simpul publik untuk multiaddr, apakah itu masuk akal?

@fgimenez ;) bisa jadi, hanya tidak tahu format parameter --reserved-nodes yang menentukan multiaddr. Akan berterima kasih untuk sampel.

tentu, sesuatu seperti ini /ip4/<private_ip>/tcp/30333/p2p/<peer_id>

Anda harus mengatur ip pribadi sebagai yang ditetapkan ke simpul publik di jaringan overlay penulisan buruh pelabuhan. Id rekan ditetapkan secara acak saat boot jika Anda tidak menentukan kunci simpul dengan --node-key . Kunci node ini harus berupa 64 hex char string, Anda dapat mencoba memulai node secara lokal dengan menyetel kunci node yang diketahui dan kemudian memeriksa id rekan mana yang ditetapkan, dan menggunakan id rekan tersebut untuk membuat node multiaddr yang dicadangkan.

Jadi, untuk setiap simpul publik:

  • mulai simpul lokal dengan polkadot --node-key=<your_node_key>
  • perhatikan id rekan yang ditugaskan
  • atur perintah start simpul publik untuk memasukkan --node-key ke nilai sebelumnya, sehingga Anda memastikan bahwa itu akan selalu memiliki id rekan yang sama
  • buat multiaddr sebagai /ip4/<private_ip>/tcp/30333/p2p/<peer_id>

dan mulai validator dengan satu set --reserved-nodes ke setiap simpul publik multiaddr

Beri tahu saya jika Anda membutuhkan yang lain.

@fgimenez Saya sedang berpikir bagaimana membuat proses 2 langkah ini dalam satu file docker-compose.yml . Katakan padaku - <your_node_key> dapat dibuat secara acak karena beberapa UUID?

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

Anda dapat menggunakan salah satu pustaka libp2p untuk menghasilkan id rekan dan pasangan kunci terkait, misalnya https://github.com/libp2p/js-peer-id node-key adalah kunci pribadi, dengan panjang 256 bit.

@fgimenez tolong , tinjau PR WIP saya

dari dalam direktori docker jalankan docker-compose -f sentry-docker-compose.yml up dan lihat hasilnya. Tampaknya validator berhasil terhubung ke penjaga sebagai rekan.

Jika diterima, saya akan menambahkan beberapa konfigurasi lagi dan Push untuk digabungkan menjadi master.

Tentu akan kita lihat minggu depan :+1:

@fgimenez beberapa pembaruan telah didorong ke WIP RP saya
Tolong, beri tahu saya setelah meninjau.

@agutsal terlihat bagus, ini sangat mirip dengan https://github.com/paritytech/substrate/blob/master/scripts/sentry-node/docker-compose.yml , kan? Apa manfaat menambahkannya ke repo polkadot?

Yah @fgimenez , ini sebenarnya didasarkan pada sentry-node/docker-compose.yml tetapi memiliki perbedaan yang signifikan: kita dapat melewatkan banyak variabel lingkungan untuk mengontrol kedua wadah:

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

Ini adalah suatu keharusan untuk menjalankan penjaga/validator dengan NODE_KEY unik, RESERVED_NODES/BOOTNODES URI pada rantai publik (bukan lokal).
Secara default ini berjalan dengan 0000000000000000000000000000000000000000000000000000000000000001
000000000000000000000000000000000000000000000000000000000000000000003

yang OK untuk pengujian tetapi tidak untuk produksi. Juga beberapa parameter yang berlebihan telah dihapus.

Status Masalah: 1. Buka 2. Mulai 3. Dikirim 4. Selesai


__Karya untuk 150.0 DAI (150.0 USD @ $1.0/DAI) telah dikirimkan oleh__:

  1. @gutsal-arsen

@Web3Foundation silakan lihat karya yang dikirimkan:

  • PR oleh @gutsal-arsen

Status Masalah: 1. Buka 2. Mulai 3. Dikirim 4. Selesai


__Pendanaan 150.0 DAI (150.0 USD @ $1.0/DAI) yang dilampirkan pada masalah ini telah disetujui & dikeluarkan ke @gutsal-arsen.__

@Web3Foundation Terima kasih atas pembayaran Anda. Namun, saya pikir saya juga harus memperbaiki dokumen dalam lingkup proyek saat ini. Repositori saat ini tidak berisi dokumen, haruskah saya mengkloning https://github.com/w3f/polkadot-wiki dan memperbaikinya di sana?

@agutsal yakin; ada sedikit upaya berulang karena @fgimenez telah membuat alat yang mungkin lebih berhasil memecahkan masalah ini. Kami membayar karena upaya berulang Anda dalam ekosistem dan waktu berkelanjutan yang Anda ambil di masa lalu & yang ini.

Jangan ragu untuk mengubah dokumentasi dan meninggalkan komentar untuk ditinjau.

Terima kasih telah memberi tahu saya. Akan mengerjakannya hari ini dan memberi tahu Anda @fgimenez @Web3Foundation.

Menutup sejak node penjaga tidak digunakan lagi .

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

EdwardAThomson picture EdwardAThomson  ·  6Komentar

EdwardAThomson picture EdwardAThomson  ·  6Komentar

Web3Foundation picture Web3Foundation  ·  32Komentar

EdwardAThomson picture EdwardAThomson  ·  5Komentar

blokaly picture blokaly  ·  7Komentar