Skip to content

gRPC ​

Native gRPC access, TLS end-to-end on the standard gateway host — two entry ports:

rpc.nodes.koshelek.ru:8443   # full gRPC — all streaming shapes
rpc.nodes.koshelek.ru:443    # unary + server-streaming (shared with HTTPS)

Unlike JSON-RPC there is no per-chain path — in gRPC the request path is the protocol (/protocol.Wallet/GetNowBlock), so both entries route by proto package prefix straight to the right chain's gRPC port. gRPC is served for TRON:

ChainProto packages routedDescriptors
TRONprotocol.*bring the java-tron protos

Which port to use ​

Call type:8443:443
Unary (single request → single response)✓✓
Server-streaming (single request → response stream)✓✓
Client-streaming / bidirectional✓✗ — times out

:8443 is a dedicated gRPC proxy that streams every call shape end-to-end. :443 is the shared API gateway; it buffers the request stream, so only calls that half-close immediately (unary, server-streaming — every TRON Wallet method) complete there. Deployments may run without the :8443 entry — if it doesn't answer, everything still works on :443.

The gateway does not expose server reflection on either port: grpcurl list, grpcui and evans need the descriptors passed explicitly (-proto / -protoset or compiled SDK stubs).

Authentication ​

The same API key as HTTPS on both ports, sent as gRPC metadata with the key name apikey (no -plaintext — both endpoints are TLS). Unauthenticated calls are rejected at the gateway; rate limits count unary calls and stream opens.

TRON ​

java-tron's wallet gRPC (protocol.* package). Supply the java-tron protos (or a protoset compiled from them) on either port:

bash
# with the protos checked out (github.com/tronprotocol/protocol):
grpcurl -H "apikey: $YOUR_API_KEY" \
  -import-path ./protocol -proto api/api.proto \
  rpc.nodes.koshelek.ru:443 protocol.Wallet/GetNowBlock

(Note: bytes fields — addresses, hashes — are base64 in grpcurl's JSON, not base58/hex. For address-parameterized calls the HTTP API's hex-string form is usually less fiddly.)

SDKs with compiled stubs (grpc-go, @grpc/grpc-js, grpcio) work on either port — point them at rpc.nodes.koshelek.ru:443 with TLS credentials and the apikey metadata on every call.

The REST-style HTTP API (POST /tron/wallet/<method>) remains available for everything that doesn't need gRPC semantics.

Everything else ​

Only the chains in the table above expose gRPC — for other chains the package prefix simply doesn't route, and their protocols are HTTP-native anyway (Endpoints). Streaming/subscription workloads on non-gRPC chains are covered by WebSockets.