Ana içeriğe geç
Change page

Ağ adresleri

Son düzenleme: @kaanmetu(opens in a new tab), 15 Ağustos 2023

Ethereum düğümleri, eşlere bağlanmak için bazı temel bilgilerle kendilerini tanımlamalıdır. Herhangi bir potansiyel eşin bu bilgiyi yorumlayabilmesini sağlamak için, herhangi bir Ethereum düğümünün anlayabileceği üç standart formattan birinde iletilir: multiaddr, enode veya Ethereum Node Records (ENR'ler). ENR'ler, Ethereum ağ adresleri için geçerli standarttır.

Ön koşullar

Bu sayfayı anlamak için Ethereum'un ağ katmanı hakkında biraz bilgi sahibi olmak gerekir.

Multiaddr

Orijinal Ethereum düğüm adresi formatı 'multiaddr' idi ('çoklu adresler'in kısaltması). Multiaddr, eşler arası ağlar için tasarlanmış evrensel bir biçimdir. Adresler, eğik çizgiyle ayrılmış anahtarlar ve değerlerle birlikte anahtar/değer çiftleri olarak temsil edilir. Örneğin, IPv4 adresi 192.168.22.27 olan bir düğüm için 33000 TCP bağlantı noktasını dinleyen multiaddr şöyle görünür:

/ip4/192.168.22.27/tcp/33000

Bir Ethereum düğümü için multiaddr, düğüm kimliğini (ortak anahtarlarının bir karması) içerir:

/ip4/192.168.22.27/tcp/33000/p2p/5t7Nv7dG2d6ffbvAiewVsEwWweU3LdebSqX2y1bPrW8br

Enode

Enode, bir URL adres formatı kullanarak bir Ethereum düğümünü tanımlamanın bir yoludur. Onaltılık düğüm kimliği, @ işareti kullanılarak ana bilgisayardan ayrılan URL'nin kullanıcı adı bölümünde kodlanır. Ana bilgisayar adı yalnızca bir IP adresi olarak verilebilir; DNS adlarına izin verilmez. Ana bilgisayar adı bölümündeki bağlantı noktası, TCP dinleme bağlantı noktasıdır. TCP ve UDP (keşif) bağlantı noktaları farklıysa, UDP bağlantı noktası "discport" sorgu parametresi olarak belirtilir

Aşağıdaki örnekte, düğüm URL'si, IP adresi 10.3.58.6, TCP bağlantı noktası 30303 ve UDP keşif bağlantı noktası 30301 olan bir düğümü tanımlar.

enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@10.3.58.6:30303?discport=30301

Ethereum Düğüm Kayıtları (ENR'ler)

Ethereum Düğüm Kayıtları (ENR'ler), Ethereum'daki ağ adresleri için standart bir formattır. Çoklu adreslerin ve düğümlerin yerini alırlar. Bunlar özellikle yararlıdır çünkü düğümler arasında daha fazla bilgi alışverişine izin verirler. ENR; bir imza, sıra numarası ve imzaları oluşturup doğrulamak için kullanılan kimlik şemasını detaylandıran alanları içerir. ENR, anahtar/değer çiftleri olarak düzenlenen rastgele verilerle de doldurulabilir. Bu anahtar/değer çiftleri, düğümün IP adresini ve düğümün kullanabileceği alt protokoller hakkındaki bilgileri içerir. Consensus istemcileri, önyükleme düğümlerini tanımlamak için belirli bir ENR yapısı(opens in a new tab) kullanır ve ayrıca mevcut Ethereum çatalı ve doğrulama dedikodusu alt ağı hakkında bilgi içeren bir eth2 alan içerir (bu, düğümü, onayları bir araya toplanmış belirli bir eşler grubuna bağlar).

Daha Fazla Okuma

EIP-778: Ethereum Düğüm Kayıtları (ENR)(opens in a new tab) Ethereum'daki ağ adresleri(opens in a new tab) LibP2P: Multiaddr-Enode-ENR?!(opens in a new tab)

Bu makale yararlı oldu mu?