Ana içeriğe geç

crawl_shards

[Kaynak]

Eş sunuculardan hangi tarihsel defter veri parçalarının mevcut olduğunu öğrenmek için bilgi talep eder.

crawl_shards yöntemi, yetkisiz kullanıcılar tarafından çalıştırılamayan bir yönetici yöntemidir.

Talep Formatı

Talep formatına bir örnek:

WebSocket

{
"command": "crawl_shards",
"public_key": true,
"limit": 0
}

JSON-RPC

{
"method": "crawl_shards",
"params": [
{
"public_key": true,
"limit": 0
}
]
}
bilgi

Bu yöntem için komut satırı sözdizimi yoktur. Komut satırından erişmek için [json yöntemini][] kullanın.

Talep aşağıdaki alanları içerir:

AlanTürAçıklama
public_keyBoolean(Opsiyonel) Eğer true ise, yanıt, taranan sunucuların peer-to-peer iletişimleri için olan node genel anahtarlarını içerir. Varsayılan false'dur.
limitSayı(Opsiyonel) Kaç derinlikte aranacağını belirtir. Varsayılan 0’dır, bu sadece doğrudan eşleri arar. 1 limiti ile eşlerin eşlerini de arar. Maksimum değer 3'tür.
tehlike

Aranan eşlerin sayısı limit arttıkça üstel olarak büyür. 2 veya 3 limiti ile sunucunun API talebine yanıt vermesi birkaç saniye sürebilir.

Yanıt Formatı

Başarılı bir yanıt örneği:

WebSocket

{
"result": {
"complete_shards": "1-2,5,8-9,584,1973,2358",
"peers": [
{
"complete_shards": "1-2,8,47,371,464,554,653,857,1076,1402,1555,1708,1813,1867",
"public_key": "n9LxFZiySnfDSvfh23N94UxsFkCjWyrchTeKHcYE6tJJQL5iejb2"
},
{
"complete_shards": "8-9,584",
"ip": "192.168.1.132",
"public_key": "n9MN5xwYqbrj64rtfZAXQy7Y3sNxXZJeLt7Lj61a9DYEZ4SE2tQQ"
}
]
},
"status": "success",
"type": "response"
}

JSON-RPC

200 OK

{
"result": {
"complete_shards": "1-2,5,8-9,584,1973,2358",
"peers": [
{
"complete_shards": "1-2,8,47,371,464,554,653,857,1076,1402,1555,1708,1813,1867",
"public_key": "n9LxFZiySnfDSvfh23N94UxsFkCjWyrchTeKHcYE6tJJQL5iejb2"
},
{
"complete_shards": "8-9,584",
"ip": "192.168.1.132",
"public_key": "n9MN5xwYqbrj64rtfZAXQy7Y3sNxXZJeLt7Lj61a9DYEZ4SE2tQQ"
}
],
"status": "success"
}
}

Yanıt, [standart formata][] uyar; başarılı bir sonuç aşağıdaki alanları içerir:

AlanTürAçıklama
complete_shardsString(Atlanabilir) Yerel sunucuda mevcut olan tarih parçalarının aralığı. Bu boş bir dize veya parçaları kapsayan ayrı bir aralık olabilir. Örneğin, 1-2,5,7-9, parçaların 1, 2, 5, 7, 8 ve 9'un mevcut olduğunu gösterir. Bu sunucu tarih parçalamayı etkinleştirmemişse atlanır.
peersDizi(Atlanabilir) Her eşin mevcut tarih parçalarını tanımlayan Eş Parça Nesneleri listesidir (aşağıya bakınız). Yanıt, limit tarafından belirlenen adımda hiçbir parçanın mevcut olmadığı eşler varsa bu alanı atlar.

Eş Parça Nesneleri

Yanıtın peers dizisinin her bir üyesi, eşler-arası ağda bir sunucuyu tanımlayan bir nesnedir. Liste, en az bir tam tarih parçasına sahip olan eşleri içerir. Dizideki her nesne aşağıdaki alanlara sahiptir:

AlanTürAçıklama
complete_shardsStringBu eşin mevcut olan tam tarih parçalarının aralığı. Bu ayrı bir aralık olabilir. Örneğin, 1-2,5,7-9, parçaların 1, 2, 5, 7, 8 ve 9'un mevcut olduğunu gösterir.
incomplete_shardsString(Atlanabilir) Bu eşin kısmen indirilmiş tarih parçalarının ve her biri için yüzde tamamlanma durumunun virgülle ayrılmış listesi. Örneğin, 1:50,2:25, parça 1'in %50, parça 2'nin %25 oranında indirildiğini gösterir. badge href="https://github.com/XRPLF/rippled/releases/tag/1.8.1 Yeni: rippled 1.8.1/badge %}
public_keyString(Ancak talep "public_key": true olarak belirtilmişse verilmez) Bu eşin peer-to-peer iletişimi için kullandığı genel anahtar, XRP Ledger'ın base58 formatında.

ip alanı artık sağlanmamaktadır. badge href="https://github.com/XRPLF/rippled/releases/tag/1.8.1 Kaldırıldı: rippled 1.8.1/badge %}

Olası Hatalar

  • Herhangi bir [evrensel hata türü][].
  • invalidParams - Talep edilen bir veya daha fazla zorunlu alan atlandı veya sağlanan bir alan yanlış veri türü olarak belirtildi.
  • reportingUnsupported - ([Raporlama Modu][] sunucuları sadece) Bu yöntem Raporlama Modu'nda mevcut değildir.