Conexión
La cuota, los límites y los precios son los mismos que por HTTP. Una llamada se pondera por el tamaño
de su respuesta protobuf con la misma fórmula — consulta Unidades de cuota.
Archivos .proto
El servidor no tiene reflexión: tu cliente necesita los archivos.proto de TRON. Están publicados en
el repositorio tronprotocol/protocol; los servicios están
en api/api.proto.
-import-path al clon y -proto a api/api.proto:
node.tronrental.com:443 y pasa la clave en los metadatos de cada llamada.
Nombres de métodos y bytes
-
Los nombres de los métodos distinguen mayúsculas y minúsculas, como en el
.proto:protocol.Wallet/GetAccount, nogetAccount. Un método que el nodo no tiene termina conUNIMPLEMENTED,x-node-api-reason: method_not_foundyx-node-api-wu: 0— no cuesta nada. -
Las direcciones y los ID son bytes. En el JSON de grpcurl, los bytes van en base64. Una dirección
TRON tiene 21 bytes:
41seguido de 20 bytes. Para pasar su forma hex a base64: -
Un mensaje de solicitud ocupa como máximo 512 KB. Uno mayor se rechaza con
RESOURCE_EXHAUSTEDantes de procesarse.
Metadatos finales
Códigos de estado
Los rechazos se corresponden con estados gRPC según su estado HTTP. El código en sí va enx-node-api-reason; la lista completa está en Límites y errores.
Un error que devuelve el propio nodo (por ejemplo,
INVALID_ARGUMENT por una transacción mal formada)
se te pasa tal cual y cuesta 1 WU: el nodo hizo el trabajo. Si el nodo no responde, la llamada termina
con UNAVAILABLE y x-node-api-reason: node_error y no cuesta nada.
Un
RESOURCE_EXHAUSTED sin x-node-api-reason proviene del propio servidor gRPC: el mensaje de
solicitud supera los 512 KB, o el servidor está atendiendo demasiadas llamadas a la vez. En el segundo
caso, reintenta tras una breve pausa.Reintentos y transmisiones
Una llamada nunca se repite en otro nodo a tus espaldas: unUNAVAILABLE puede significar que la
conexión se cortó después de que el nodo recibiera la solicitud. Reenviar la misma transacción firmada
a BroadcastTransaction es seguro — la red ejecuta un ID de transacción una sola vez.