Ana içeriğe atla

Bağlantı

Kota, limitler ve fiyatlar HTTP ile aynıdır. Bir çağrının maliyeti, protobuf yanıtının boyutuna göre aynı formülle hesaplanır — bkz. Kota birimleri.

.proto dosyaları

Sunucuda reflection yoktur: istemcinizin TRON .proto dosyalarına ihtiyacı vardır. Bu dosyalar tronprotocol/protocol deposunda yayımlanır; servisler api/api.proto içindedir.
grpcurl ile -import-path seçeneğini klonlanan dizine, -proto seçeneğini api/api.proto dosyasına yönlendirin:
Kodda, dilinizin gRPC araçlarıyla aynı dosyalardan stub’ları üretin, node.tronrental.com:443 adresine bir TLS kanalı açın ve anahtarı her çağrının meta verisinde iletin.

Yöntem adları ve baytlar

  • Yöntem adları büyük/küçük harfe duyarlıdır, .proto dosyasındaki gibi: protocol.Wallet/GetAccount, getAccount değil. Düğümde olmayan bir yöntem UNIMPLEMENTED, x-node-api-reason: method_not_found ve x-node-api-wu: 0 ile sona erer — hiçbir ücrete tabi değildir.
  • Adresler ve kimlikler bayttır. grpcurl JSON’unda baytlar base64 olarak yazılır. Bir TRON adresi 21 bayttır: 41 ve ardından 20 bayt. Hex biçimini base64’e çevirmek için:
  • Bir istek mesajı en fazla 512 KB olabilir. Daha büyüğü işlenmeden önce RESOURCE_EXHAUSTED ile reddedilir.

Sondaki meta veri (trailing metadata)

Durum kodları

Retler, HTTP durumlarına göre gRPC durumlarına eşlenir. Kodun kendisi x-node-api-reason içindedir; tam liste Limitler ve hatalar sayfasındadır. Düğümün kendisinin döndürdüğü bir hata (örneğin hatalı biçimlendirilmiş bir işlem için INVALID_ARGUMENT) size olduğu gibi iletilir ve 1 WU tutar: işi düğüm yapmıştır. Düğüm yanıt vermezse çağrı UNAVAILABLE ve x-node-api-reason: node_error ile sona erer ve hiçbir ücrete tabi değildir.
x-node-api-reason olmadan gelen bir RESOURCE_EXHAUSTED gRPC sunucusunun kendisinden gelir: ya istek mesajı 512 KB sınırını aşıyordur ya da sunucu aynı anda çok fazla çağrı tutuyordur. İkinci durumda kısa bir aradan sonra yeniden deneyin.

Yeniden denemeler ve yayınlar

Bir çağrı sizden habersiz başka bir düğümde asla tekrarlanmaz: UNAVAILABLE, bağlantının düğüm isteği aldıktan sonra koptuğu anlamına gelebilir. Aynı imzalı işlemi BroadcastTransaction yöntemine yeniden göndermek güvenlidir — ağ bir işlem kimliğini yalnızca bir kez yürütür.