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

Vilna RPC

Vilna RPC предоставляет доступ к блокчейн-нодам множества сетей через единую точку входа. Отправляйте стандартные JSON-RPC запросы по HTTP или gRPC-вызовы, используя один API-ключ для всех поддерживаемых сетей.

  • HTTP Base URL: https://rpc.vilna.app
  • gRPC endpoint: rpc.vilna.app:9090
  • Протоколы: HTTP JSON-RPC (EVM, Solana, Bitcoin), gRPC (Tron)

Аутентификация

Каждый запрос должен содержать API-ключ. Для получения ключа свяжитесь с support@vilna.io.

ПротоколЗаголовокЗначение
HTTPX-Api-KeyВаш API-ключ
gRPCx-api-key (metadata)Ваш API-ключ

HTTP JSON-RPC

Отправьте POST запрос на https://rpc.vilna.app/{chain}, где {chain} — это CAIP-2 идентификатор сети или алиас.

  • Content-Type: application/json
  • Макс. размер тела запроса: 1 МБ
  • Таймаут: 30 секунд

Ethereum (EVM)

curl -X POST https://rpc.vilna.app/ethereum \
  -H "X-Api-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_blockNumber",
    "params": [],
    "id": 1
  }'

Solana

curl -X POST https://rpc.vilna.app/solana \
  -H "X-Api-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "getBalance",
    "params": ["83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri"],
    "id": 1
  }'

Bitcoin

curl -X POST https://rpc.vilna.app/bitcoin \
  -H "X-Api-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "getblockcount",
    "params": [],
    "id": 1
  }'

gRPC

Подключитесь к rpc.vilna.app:9090 и передайте аутентификацию и идентификатор сети через gRPC metadata.

Ключ metadataЗначение
x-api-keyВаш API-ключ
x-chain-idCAIP-2 идентификатор или алиас (например, tron или tron:mainnet)

Tron

Любой метод gRPC-сервиса Tron можно вызвать через Vilna RPC. Пример с использованием grpcurl:

grpcurl \
  -H "x-api-key: your-api-key" \
  -H "x-chain-id: tron" \
  rpc.vilna.app:9090 \
  protocol.Wallet/GetNowBlock

Поддерживаемые сети

СетьCAIP-2 IDАлиасПротокол
Ethereum Mainneteip155:1ethereumJSON-RPC
BNB Smart Chaineip155:56bscJSON-RPC
BNB Smart Chain Testneteip155:97bsc-testnetJSON-RPC
Ethereum Hoodieip155:560048hoodiJSON-RPC
Ethereum Sepoliaeip155:11155111sepoliaJSON-RPC
Solana Mainnetsolana:mainnetsolanaJSON-RPC
Solana Testnetsolana:testnetsolana-testnetJSON-RPC
Bitcoin Mainnetbip122:000000000019d6689c085ae165831e93bitcoinJSON-RPC
Bitcoin Testnetbip122:000000000933ea01ad0ee984209779babitcoin-testnetJSON-RPC
Tron Mainnettron:mainnettrongRPC

Список поддерживаемых сетей расширяется. Тестовые сети доступны для разработки и тестирования.

Идентификация сети

Сеть можно указать как по CAIP-2 идентификатору, так и по алиасу — оба варианта принимаются в URL (HTTP) и metadata (gRPC).

Проверка доступности

Проверьте доступность сервиса без аутентификации:

curl https://rpc.vilna.app/health
{"status": "ok"}

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

Существует два типа ошибок.

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

Возвращаются Vilna RPC, когда запрос не может быть обработан. Тело ответа в формате JSON:

{"error": "описание проблемы"}
СитуацияHTTP-статусgRPC-статус
Отсутствует API-ключ401UNAUTHENTICATED
Невалидный API-ключ401UNAUTHENTICATED
Сеть не найдена404NOT_FOUND
Несовместимый протокол400INVALID_ARGUMENT
Сеть недоступна502UNAVAILABLE

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

Если запрос достигает блокчейн-ноды, но нода возвращает ошибку, вы получите ответ в нативном формате ноды. Для JSON-RPC сетей это стандартный объект ошибки:

{
  "jsonrpc": "2.0",
  "error": {
    "code": -32601,
    "message": "Method not found"
  },
  "id": 1
}

Дополнительные материалы