Перейти к содержимому
Последнее обновление

gRPC

Доступ к gRPC-блокчейн-нодам через единую точку входа с маршрутизацией через metadata.

Подключение

grpc.vilna.io:443

Соединение устанавливается через TLS. Аутентификация и идентификация сети передаются через gRPC metadata:

Ключ metadataЗначение
x-api-keyВаш API-ключ
x-chain-idCAIP-2 ID или алиас сети (например, tron или tron:mainnet)
Явно указывайте порт

Всегда указывайте порт :443. Некоторые клиенты (включая grpcurl) не подставляют порт по умолчанию и завершатся с ошибкой missing port in address, если его не задать.

Tron

Любой gRPC-метод сервисов Tron можно вызвать через Vilna RPC - запрос прозрачно маршрутизируется к ноде Tron. На апстриме включена gRPC reflection, поэтому grpcurl сам резолвит дескрипторы.

Получить текущий блок

grpcurl \
  -H "x-api-key: your-api-key" \
  -H "x-chain-id: tron:mainnet" \
  -d '{}' \
  grpc.vilna.io:443 \
  protocol.Wallet/GetNowBlock2

Быстрая проверка подключения

grpcurl \
  -H "x-api-key: your-api-key" \
  -H "x-chain-id: tron:mainnet" \
  grpc.vilna.io:443 \
  protocol.Wallet/TotalTransaction

Получить конкретный блок по номеру

grpcurl \
  -H "x-api-key: your-api-key" \
  -H "x-chain-id: tron:mainnet" \
  -d '{"num":70000000}' \
  grpc.vilna.io:443 \
  protocol.Wallet/GetBlockByNum2

Если grpcurl не установлен, тот же вызов можно выполнить через Docker:

docker run --rm fullstorydev/grpcurl \
  -H "x-api-key: your-api-key" \
  -H "x-chain-id: tron:mainnet" \
  -d '{}' \
  grpc.vilna.io:443 \
  protocol.Wallet/GetNowBlock2

Доступные сервисы

Vilna проксирует все стандартные gRPC-сервисы Tron:

СервисОписание
protocol.WalletОперации с аккаунтами, транзакциями и блоками
protocol.WalletSolidityRead-only запросы к подтверждённым блокам
protocol.DatabaseНизкоуровневый доступ к данным сети

Полный список доступных методов в документации протокола Tron.

Обработка ошибок

Системные ошибки

Возвращаются Vilna RPC, когда запрос не может достичь блокчейн-ноды:

СитуацияgRPC-статус
Отсутствует API-ключUNAUTHENTICATED
Невалидный API-ключUNAUTHENTICATED
Сеть не найденаNOT_FOUND
Несовпадение протоколаINVALID_ARGUMENT
Сеть недоступнаUNAVAILABLE

Общие ошибки API и их устранение описаны в руководстве по ошибкам.

Ошибки блокчейн-ноды

Если запрос достигает ноды, но нода возвращает ошибку, вы получаете нативную gRPC-ошибку. Эти ошибки приходят напрямую от блокчейн-ноды.

Следующие шаги