Вход в кабинет
Ethereum · JSON-RPC 2.0

Ethereum RPC endpoint
доступ к ноде Ethereum по API

Отправляете JSON-RPC запросы на наш адрес — прокси передаёт их ноде Ethereum и возвращает ответ как есть. Тело запроса не парсится и не модифицируется, любой метод проходит насквозь. ethers.js, web3.js и web3.py подключаются без изменения логики приложения — меняется только адрес провайдера.

Как подключиться
JSON-RPC 2.0
стандартный протокол Ethereum
Все методы
whitelist отсутствует
Старт сегодня
доступ открывается в день обращения
Ethereum RPC — подключение
# eth_getBalance — баланс адреса в wei
curl -X POST https://nodes-api.cryptosafe.pro/proxy/ethereum \
  -H "Authorization: $CSN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe","latest"],"id":1}'

# ответ приходит от ноды без изменений
{"jsonrpc":"2.0","id":1,"result":"0x1a044d1fe5a9cf0"}
Адрес провайдера — единственное изменение в коде
Возможности

Что открывает доступ к ноде Ethereum

Нода Ethereum содержит состояние всей сети: балансы, код контрактов, историю транзакций. Через наш RPC-эндпоинт вы отправляете стандартные JSON-RPC вызовы и получаете данные напрямую с ноды.

Чтение состояния сети

eth_getBalance, eth_call, eth_getLogs, eth_getTransactionReceipt — методы для чтения балансов, вызова view-функций контрактов и получения логов событий. Любой метод, который принимает нода, доступен без ограничений.

Отправка транзакций

eth_sendRawTransaction принимает подписанные транзакции и передаёт их ноде без изменений. eth_estimateGas помогает рассчитать лимит газа перед отправкой. Тело запроса прокси не трогает — транзакция проходит насквозь.

Работа со смарт-контрактами

eth_call выполняет вызов контракта без транзакции и расхода газа. ethers.js и web3.js обращаются к контрактам через тот же провайдер — ABI-обёртки, события и фильтры работают как обычно.

Ключ с IP-ограничением

Ключ можно привязать к IP-адресам и подсетям CIDR серверов вашего сервиса. Если запрос придёт с незарегистрированного адреса, сервис вернёт ошибку 8003. Поддерживаются IPv4 и IPv6; до 50 записей на ключ.

Инфраструктура на нас

Синхронизация, обновления клиента Ethereum и мониторинг ноды — наша ответственность. Адрес эндпоинта остаётся прежним при любых обновлениях с нашей стороны. Чем это отличается от публичного RPC — в статье в блоге.

Статистика по запросам

В личном кабинете видно количество запросов к ноде Ethereum, долю успешных и время ответа. Метрики собираются с первого дня без дополнительной настройки.

Подключение

Четыре шага до первых запросов к Ethereum

От первого сообщения до рабочего провайдера — обычно в тот же день.

01

Напишите нам

Напишите нам в чат поддержки на сайте: скажите, что нужен доступ к ноде Ethereum. Мы откроем кабинет в день обращения.

02

Выпустите ключ

В личном кабинете создайте ключ. При необходимости добавьте IP-адреса серверов, с которых будут идти запросы.

03

Укажите адрес провайдера

Подставьте https://nodes-api.cryptosafe.pro/proxy/ethereum в настройки ethers.js, web3.js или любой другой библиотеки. Добавьте ключ в заголовок Authorization.

04

Отправляйте запросы

Логика приложения остаётся прежней — библиотека работает как обычно. В кабинете сразу начнёт накапливаться статистика по вашим вызовам.

Вопросы

Частые вопросы об Ethereum RPC

Какой протокол использует Ethereum RPC?
Ethereum работает по протоколу JSON-RPC 2.0 поверх HTTP POST. Запрос отправляется методом POST на адрес https://nodes-api.cryptosafe.pro/proxy/ethereum с телом {"jsonrpc":"2.0","method":"...","params":[...],"id":1}. Ответ приходит от самой ноды без изменений.
Работают ли ethers.js, web3.js и web3.py без переделки кода?
Да. Эти библиотеки работают без изменения логики приложения — достаточно указать наш адрес в качестве провайдера и добавить свой ключ в заголовок Authorization. Для библиотеки это обычный Ethereum-эндпоинт.
Какие методы Ethereum доступны?
Набор RPC-методов ничем не ограничен — работает любой метод, который принимает нода Ethereum. Среди типовых: eth_blockNumber, eth_getBalance, eth_call, eth_getLogs, eth_getTransactionReceipt, eth_sendRawTransaction, eth_estimateGas.
Как правильно передавать ключ аутентификации?
Ключ передаётся в заголовке Authorization без префикса Bearer — именно как значение, без дополнительных слов. Пример: Authorization: ваш-ключ. Ключ выпускается в личном кабинете; на компанию доступно до трёх ключей.
Можно ли ограничить доступ по IP?
Да. Каждый ключ можно привязать к списку IP-адресов и подсетей CIDR — до 50 записей. Поддерживаются IPv4 и IPv6. Пустой список означает доступ с любого адреса. Вспомогательный эндпоинт https://nodes-api.cryptosafe.pro/info/getip вернёт ваш текущий IP текстом.

Нужен Ethereum RPC endpoint?

Напишите в чат поддержки — откроем доступ к ноде Ethereum в день обращения. Ключ выпускаете сами в кабинете, инфраструктуру держим мы.

Вход в кабинет