Чтение состояния сети
eth_getBalance, eth_call, eth_getLogs, eth_getTransactionReceipt — методы для чтения балансов, вызова view-функций контрактов и получения логов событий. Любой метод, который принимает нода Polygon, доступен без ограничений.
Polygon полностью совместима с EVM, поэтому работает по тому же JSON-RPC 2.0, что и Ethereum. Отправляете запрос на наш адрес — прокси передаёт его ноде Polygon и возвращает ответ как есть. ethers.js, web3.js и web3.py подключаются без изменения логики приложения — меняется только адрес провайдера.
# polygon — имя ноды для примера, в кабинете оно может называться иначе
# eth_getBalance — баланс адреса в wei (MATIC)
curl -X POST https://nodes-api.cryptosafe.pro/proxy/polygon \
-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":"0x455620d9a4c1000"}
import { JsonRpcProvider, FetchRequest } from 'ethers'
const req = new FetchRequest('https://nodes-api.cryptosafe.pro/proxy/polygon')
// ключ — без префикса Bearer, именно так, как выдан в кабинете
req.setHeader('Authorization', process.env.CSN_TOKEN)
const provider = new JsonRpcProvider(req, 137)
const balance = await provider.getBalance('0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe')
// ethers.js работает как обычно — адрес провайдера единственное, что изменилось
Polygon — EVM-совместимая сеть: состояние, контракты и транзакции читаются и отправляются теми же вызовами, что и в Ethereum. Через наш RPC-эндпоинт вы получаете данные напрямую с ноды.
eth_getBalance, eth_call, eth_getLogs, eth_getTransactionReceipt — методы для чтения балансов, вызова view-функций контрактов и получения логов событий. Любой метод, который принимает нода Polygon, доступен без ограничений.
Токены на Polygon читаются и отправляются теми же вызовами eth_call и eth_sendRawTransaction, что и ERC-20 в Ethereum, — меняются только chain id и адрес контракта.
eth_sendRawTransaction принимает подписанные транзакции и передаёт их ноде без изменений. eth_estimateGas помогает рассчитать лимит газа перед отправкой.
Ключ можно привязать к IP-адресам и подсетям CIDR ваших серверов. Запрос с незарегистрированного адреса получит ошибку 8003. Поддерживаются IPv4 и IPv6; до 50 записей на ключ.
Синхронизация ноды Polygon, обновления клиента и мониторинг — наша ответственность. Адрес вашего эндпоинта не меняется при любых обновлениях с нашей стороны. Как выбрать между своей нодой и провайдером — в статье в блоге.
В личном кабинете видно количество запросов к ноде Polygon, долю успешных и время ответа. Метрики собираются с первого дня без дополнительной настройки.
От первого сообщения до рабочего провайдера — обычно в тот же день.
Напишите нам в чат поддержки на сайте: скажите, что нужен доступ к ноде Polygon. Мы откроем кабинет в день обращения.
В личном кабинете создайте ключ. При необходимости добавьте IP-адреса серверов, с которых будут идти запросы.
Подставьте https://nodes-api.cryptosafe.pro/proxy/polygon
в настройки ethers.js, web3.js или любой другой библиотеки.
Добавьте ключ в заголовок Authorization.
Логика приложения остаётся прежней — библиотека работает как обычно. В кабинете сразу начнёт накапливаться статистика по вашим вызовам.
Напишите в чат поддержки — откроем доступ к ноде Polygon в день обращения. Ключ выпускаете сами в кабинете, инфраструктуру держим мы.