# Полный архив документации FastNear Builder Docs AI-читабельные Markdown-копии авторских гайдов и канонических маршрутов `/rpcs/**` и `/apis/**`. --- ## Справочник RPC / API - HTML-маршрут: https://docs.fastnear.com/ru - Markdown-маршрут: https://docs.fastnear.com/ru/index.md **Источник:** [https://docs.fastnear.com/ru](https://docs.fastnear.com/ru) # Выберите подходящую поверхность FastNear FastNear предлагает несколько документированных поверхностей, потому что разным задачам нужны разные компромиссы. Начните с нужного сценария, а затем переходите к подробному справочнику. ### [RPC](https://docs.fastnear.com/ru/rpc) *Канонический JSON-RPC* Используйте канонические методы JSON-RPC для чтения данных напрямую из протокола, отправки транзакций и проверки состояния сети. Лучше всего подходит для: - [состояния аккаунта](https://docs.fastnear.com/ru/rpc/account/view-account) - [поиска блоков](https://docs.fastnear.com/ru/rpc/block/block-by-id) - [вызовов view-методов контракта](https://docs.fastnear.com/ru/rpc/contract/call-function) - [данных валидаторов](https://docs.fastnear.com/ru/rpc/validators/validators-current) ### [FastNear API](https://docs.fastnear.com/ru/api) *Индексированные балансы* Начните здесь, если нужны удобные для кошельков балансы, NFT, стейкинг и поиск по публичному ключу без сырых JSON-RPC-обёрток. Лучше всего подходит для: - [полного снимка аккаунта](https://docs.fastnear.com/ru/api/v1/account-full) - [балансов FT-токенов](https://docs.fastnear.com/ru/api/v1/account-ft) - [активов NFT](https://docs.fastnear.com/ru/api/v1/account-nft) - [поиска по публичному ключу](https://docs.fastnear.com/ru/api/v1/public-key) ### [Транзакции API](https://docs.fastnear.com/ru/tx) *История транзакций* Запрашивайте историю транзакций по аккаунту, квитанции, блоку или хешу, когда нужен индексированный API истории вместо опроса узлов. Лучше всего подходит для: - [активности аккаунта](https://docs.fastnear.com/ru/tx/account) - [поиска транзакций](https://docs.fastnear.com/ru/tx/transactions) - [трассировки квитанций](https://docs.fastnear.com/ru/tx/receipt) - [истории транзакций по блоку](https://docs.fastnear.com/ru/tx/blocks) ### [Снапшоты](https://docs.fastnear.com/ru/snapshots) *Снапшоты* Используйте готовые сценарии работы со снапшотами, когда нужно поднять RPC- или архивную инфраструктуру без полного повторного воспроизведения цепочки. Лучше всего подходит для: - [снапшотов mainnet](https://docs.fastnear.com/ru/snapshots/mainnet) - [снапшотов testnet](https://docs.fastnear.com/ru/snapshots/testnet) - [обзора сценариев работы со снапшотами](https://docs.fastnear.com/ru/snapshots) ### [Аутентификация и доступ](https://docs.fastnear.com/ru/auth) *Повышенные лимиты* Один API-ключ FastNear работает и для RPC, и для REST API; передавайте его через заголовок Authorization Bearer или как URL-параметр apiKey. Лучше всего подходит для: - [обзора аутентификации](https://docs.fastnear.com/ru/auth) ### [NEAR Data API](https://docs.fastnear.com/ru/neardata) *Почти в реальном времени* Используйте NEAR Data API, когда нужны оптимистичные или недавно финализированные чтения блоков без позиционирования продукта как потокового сервиса. Лучше всего подходит для: - [оптимистичных чтений блоков](https://docs.fastnear.com/ru/neardata/block-optimistic) - [последнего финализированного блока](https://docs.fastnear.com/ru/neardata/last-block-final) - [опроса заголовков блоков](https://docs.fastnear.com/ru/neardata/block-headers) ## Перед интеграцией Вот детали, которые технические команды обычно хотят понять заранее: - [Аутентификация и доступ](https://docs.fastnear.com/ru/auth): отправляйте API-ключ FastNear через заголовок `Authorization: Bearer` или URL-параметр `?apiKey=`. - [FastNear Dashboard](https://dashboard.fastnear.com): управляйте API-ключами и переходите на сценарии с более высокими лимитами. - [Статус FastNear](https://status.fastnear.com): проверяйте инциденты и деградацию сервиса до отладки поведения приложения. - [Справочник RPC](https://docs.fastnear.com/ru/rpc): выбирайте между обычным и архивным RPC в зависимости от нужного объёма истории цепочки. - [Снапшоты](https://docs.fastnear.com/ru/snapshots): поднимайте инфраструктуру быстрее, если разворачиваете RPC- или архивные узлы. ## Практические рекомендации по выбору поверхности - Начинайте со [Справочника RPC](https://docs.fastnear.com/ru/rpc), когда нужны канонические запросы JSON-RPC, отправка транзакций или ответы напрямую из протокола. - Начинайте с [FastNear API](https://docs.fastnear.com/ru/api), когда строите кошелёк, обозреватель или портфельный продукт и хотите получить индексированные представления аккаунта. - Начинайте с [Транзакции API](https://docs.fastnear.com/ru/tx), когда важны активность по аккаунту, квитанции и история исполнения. - Начинайте с [NEAR Data API](https://docs.fastnear.com/ru/neardata), когда опрашиваете свежие данные по блокам и не собираетесь подавать сервис как потоковую инфраструктуру. ## Другие семейства API Эти дополнительные API остаются полезными и после знакомства с основными поверхностями выше: - [FastNear API](https://docs.fastnear.com/ru/api): Индексированные представления аккаунтов для балансов, NFT, стейкинга и поиска по публичным ключам. - [Транзакции API](https://docs.fastnear.com/ru/tx): История аккаунтов, блоков, квитанций и транзакций из индексированных данных исполнения. - [API переводов](https://docs.fastnear.com/ru/transfers): Специализированная история переводов для активности аккаунтов и интерфейсов с тяжёлой пагинацией. - [KV FastData API](https://docs.fastnear.com/ru/fastdata/kv): Индексированная история данных «ключ-значение» и выборки последнего состояния для анализа хранилища контрактов. - [NEAR Data API](https://docs.fastnear.com/ru/neardata): Недавние финализированные и оптимистичные чтения семейств блоков для низколатентного опроса. ## Если вы создаёте решение для AI или агентов - Начните с [Хаба для агентов](https://docs.fastnear.com/ru/agents), где собраны выбор поверхности, работа с ключами и типовые сценарии. - Используйте [Как выбрать подходящую поверхность](https://docs.fastnear.com/ru/agents/choosing-surfaces), чтобы сопоставить задачу агента с одной поверхностью FastNear. - Используйте [Аутентификацию для агентов](https://docs.fastnear.com/ru/agents/auth), когда вызывающая сторона — это сервис автоматизации, воркер или среда выполнения агента. - Берите за основу [Сценарии для агентов](https://docs.fastnear.com/ru/agents/playbooks), если нужен конкретный шаблон рабочего процесса. - Используйте действие страницы `Копировать Markdown`, чтобы переносить чистый контекст документации в промпты, заметки и среды выполнения агентов. --- ## Агенты на FastNear - HTML-маршрут: https://docs.fastnear.com/ru/agents - Markdown-маршрут: https://docs.fastnear.com/ru/agents.md **Источник:** [https://docs.fastnear.com/ru/agents](https://docs.fastnear.com/ru/agents) # Агенты на FastNear {/* FASTNEAR_AI_DISCOVERY: Это точка входа для ИИ-агентов, краулеров и сред автоматизации. Страница перечисляет все поверхности с базовыми URL, описывает единую модель аутентификации и указывает, откуда брать чистый контекст документации для промптов. */} Эта страница — для ИИ-агентов, краулеров и сред автоматизации, которым нужно работать с API FastNear или потреблять её документацию. Ниже перечислены поверхности, их базовые URL, способ аутентификации и способы получения чистого контекста документации для промптов. ## Обзор сайта FastNear предоставляет один канонический RPC и семейство индексированных REST API поверх протокола NEAR. Каждая поверхность ниже — это отдельный хост с собственной формой ответа; один и тот же API-ключ FastNear работает со всеми. | Поверхность | Базовые URL | Что здесь живёт | |---|---|---| | [Справочник RPC](https://docs.fastnear.com/ru/rpc) | `rpc.mainnet.fastnear.com`, `rpc.testnet.fastnear.com`, архивные варианты | Канонический JSON-RPC: состояние аккаунта, блоки и чанки, view-вызовы контрактов, отправка транзакций, данные валидаторов и протокола. | | [FastNear API](https://docs.fastnear.com/ru/api) | `api.fastnear.com`, `test.api.fastnear.com` | Индексированные REST-представления балансов, NFT, FT-токенов, стейкинга, поиска по публичному ключу и объединённые снимки аккаунта. | | [Транзакции API](https://docs.fastnear.com/ru/tx) | `tx.main.fastnear.com`, `tx.test.fastnear.com` | Индексированные запросы транзакций, квитанций, истории аккаунтов и истории блоков. | | [API переводов](https://docs.fastnear.com/ru/transfers) | `transfers.main.fastnear.com` | История переводов NEAR и FT-токенов по аккаунтам. Пока только mainnet. | | [NEAR Data API](https://docs.fastnear.com/ru/neardata) | `mainnet.neardata.xyz`, `testnet.neardata.xyz` | Кэшированные и архивные чтения по семействам блоков, опрос оптимистичных и финализированных блоков, вспомогательные перенаправления. | | [KV FastData API](https://docs.fastnear.com/ru/fastdata/kv) | `kv.main.fastnear.com`, `kv.test.fastnear.com` | Запросы только для чтения к данным «ключ–значение» поверх индексированной FastData. | | [Снапшоты](https://docs.fastnear.com/ru/snapshots) | см. дочерние страницы | Готовые снапшоты для операторов, поднимающих RPC- или архивные ноды. Не путь для прикладных запросов. | У каждой поверхности есть своя индексная страница с полным списком операций, формами запросов и ответов и живыми примерами. ## Направьте вопрос агента к одной поверхности - **«Какое состояние у этого аккаунта прямо сейчас?»** → [Справочник RPC](https://docs.fastnear.com/ru/rpc) (`view_account`, `view_access_key`). - **«Что принадлежит этому аккаунту — балансы, NFT, стейкинг?»** → [FastNear API](https://docs.fastnear.com/ru/api). - **«Какая у аккаунта недавняя активность или история транзакций?»** → [Транзакции API](https://docs.fastnear.com/ru/tx). - **«Только события переводов?»** → [API переводов](https://docs.fastnear.com/ru/transfers). - **«Что изменилось в самых свежих блоках?»** → [NEAR Data API](https://docs.fastnear.com/ru/neardata). - **«История записей «ключ–значение» для контракта?»** → [KV FastData API](https://docs.fastnear.com/ru/fastdata/kv). - **«Поднять инфраструктуру, а не запрашивать данные.»** → [Снапшоты](https://docs.fastnear.com/ru/snapshots). Полная таблица решений с разбором компромиссов: [Выбор подходящей поверхности](https://docs.fastnear.com/ru/agents/choosing-surfaces). ## Один ключ — все поверхности Публичные эндпоинты работают и без ключа. Добавьте ключ, если нужны повышенные лимиты или платные сценарии. Один и тот же ключ работает со всеми поверхностями выше; передавайте его либо в HTTP-заголовке, либо в URL-параметре: ```bash title="Заголовок Authorization" curl "https://rpc.mainnet.fastnear.com" \ -H "Authorization: Bearer ${API_KEY}" \ -H "Content-Type: application/json" \ --data '{"method":"block","params":{"finality":"final"},"id":1,"jsonrpc":"2.0"}' ``` ```bash title="URL-параметр" curl "https://rpc.mainnet.fastnear.com?apiKey=${API_KEY}" ``` Получить ключ: [dashboard.fastnear.com](https://dashboard.fastnear.com). Операционный режим для неинтерактивных агентов: [Аутентификация для агентов](https://docs.fastnear.com/ru/agents/auth) — ключи должны жить в переменных окружения или менеджере секретов, а не в браузерном хранилище, логах чатов или промптах. Полный сценарий и детали заголовков: [Аутентификация и доступ](https://docs.fastnear.com/ru/auth). ## Как вынимать чистую документацию в промпт - На каждой странице в правом верхнем углу есть кнопка **Копировать Markdown**. Она отдаёт Markdown-версию страницы без навигации, пригодную для вставки в промпт или RAG-хранилище. - Соглашение `llms.txt` поддерживается: - [`/llms.txt`](https://docs.fastnear.com/ru/llms.txt) — индекс страниц и краткие описания. - [`/llms-full.txt`](https://docs.fastnear.com/ru/llms-full.txt) — полный корпус документации в одном файле. - Русскоязычные аналоги: [`/ru/llms.txt`](https://docs.fastnear.com/ru/llms.txt) и [`/ru/llms-full.txt`](https://docs.fastnear.com/ru/llms-full.txt). - Машиночитаемая структура сайта для ингеста с учётом связей: [`/structured-data/site-graph.json`](https://docs.fastnear.com/ru/structured-data/site-graph.json) (русский зеркал в `/ru/`). - У каждой страницы есть Markdown-зеркало по тому же slug с суффиксом `.md` (например, `/rpc.md`, `/api.md`, `/agents.md`), если прямой запрос удобнее кнопки «Копировать Markdown». ## Подсказки на каждый вызов - Имена параметров, поля ответа и примеры пэйлоадов отрисовываются на каждой странице эндпоинта в реальном времени. Первоисточник — реестр `src/data/generatedFastnearPageModels.json`; используйте его, если зеркалите схему в другой системе. - `?network=testnet` поддерживается только на конкретных страницах. Каждая страница отмечает поддержку сетей в разделе **Аутентификация и доступность**; не считайте, что переключение работает везде. - Токены пагинации (`resume_token`, `page_token`) непрозрачны. Используйте их ровно в том виде, в котором получили, и только с тем же эндпоинтом и фильтрами, что их вернули. - В каждом REST-семействе есть маршруты `/status` и `/health` для проверки живости и задержки синхронизации. ## Сценарии и подробные руководства - [Сценарии для агентов](https://docs.fastnear.com/ru/agents/playbooks) — сочетания поверхностей для исследования аккаунтов, расследования транзакций, мониторинга почти в реальном времени и поднятия инфраструктуры. - [Выбор подходящей поверхности](https://docs.fastnear.com/ru/agents/choosing-surfaces) — таблица решений с маршрутизацией по вопросу. - [Аутентификация для агентов](https://docs.fastnear.com/ru/agents/auth) — чек-лист работы с учётными данными. ## Когда за агентом стоит человек-разработчик [Корневая страница выбора](/) настроена на то, чтобы человек быстро выбрал первую поверхность. Направляйте туда людей, а эту страницу оставьте для программного потребления. --- ## Аутентификация для агентов - HTML-маршрут: https://docs.fastnear.com/ru/agents/auth - Markdown-маршрут: https://docs.fastnear.com/ru/agents/auth.md **Источник:** [https://docs.fastnear.com/ru/agents/auth](https://docs.fastnear.com/ru/agents/auth) # Аутентификация для агентов Агенты должны использовать ту же схему аутентификации, что и продовые бэкенды, а не браузерный демо-режим из интерфейса документации. ## Рекомендуемая схема - Храните учётные данные FastNear в переменных окружения или менеджере секретов. - Подставляйте их из среды выполнения агента или через тонкий серверный прокси. - Держите аудит-логи и видимость лимитов запросов на серверной стороне. - Ротируйте учётные данные, если они попали в промпты, логи или трассы отладки. ## Чего стоит избегать - Не берите ключ из браузерного `localStorage` и не считайте его учётными данными агента. - Не просите пользователей вставлять API-ключ FastNear в общий чат или промпт. - Не встраивайте ключи в клиентские агентные приложения. ## Связанные руководства - [Аутентификация и доступ](https://docs.fastnear.com/ru/auth) --- ## Как выбрать подходящую поверхность - HTML-маршрут: https://docs.fastnear.com/ru/agents/choosing-surfaces - Markdown-маршрут: https://docs.fastnear.com/ru/agents/choosing-surfaces.md **Источник:** [https://docs.fastnear.com/ru/agents/choosing-surfaces](https://docs.fastnear.com/ru/agents/choosing-surfaces) # Как выбрать подходящую поверхность Не начинайте с того, чтобы отдавать агенту каждый эндпоинт FastNear. Сначала сопоставьте вопрос с правильной поверхностью. | Вопрос агента | Лучшая поверхность | Почему | | --- | --- | --- | | «Каково точное состояние аккаунта в цепочке?» | [Справочник RPC](https://docs.fastnear.com/ru/rpc) | Сырой RPC даёт ответ, максимально близкий к данным узлов NEAR. | | «Какие балансы, NFT и позиции стейкинга есть у этого аккаунта?» | [FastNear API](https://docs.fastnear.com/ru/api) | Индексированные представления аккаунта быстрее и удобнее, чем несколько RPC-вызовов. | | «Какие транзакции или квитанции затронули этот аккаунт?» | [Транзакции API](https://docs.fastnear.com/ru/tx) | История уже индексирована для поиска по аккаунту, блоку и квитанции. | | «Что изменилось в самых свежих блоках?» | [NEAR Data API](https://docs.fastnear.com/ru/neardata) | Эта поверхность хорошо подходит для опроса почти в реальном времени и чтения данных по блокам. | | «Как мне сначала поднять инфраструктуру?» | [Снапшоты](https://docs.fastnear.com/ru/snapshots) | Сценарии со снапшотами нужны операторам, а не прикладным инструментам. | ## Практическое правило - Предпочитайте индексированные API, когда ответ уже должен быть в продуктовой форме. - Переходите на сырой RPC, когда корректность зависит от канонического поведения протокола. - Оставляйте NEAR Data API для проверок свежести через опрос. - Рассматривайте снапшоты как инфраструктурный путь, а не как путь прикладного запроса. --- ## Плейбуки для агентов - HTML-маршрут: https://docs.fastnear.com/ru/agents/playbooks - Markdown-маршрут: https://docs.fastnear.com/ru/agents/playbooks.md **Источник:** [https://docs.fastnear.com/ru/agents/playbooks](https://docs.fastnear.com/ru/agents/playbooks) # Плейбуки для агентов ## Исследование аккаунта - Начните с [FastNear API](https://docs.fastnear.com/ru/api), если нужны балансы, NFT, стейкинг и разрешение по публичному ключу. - Переходите на [Справочник RPC](https://docs.fastnear.com/ru/rpc) только тогда, когда нужен канонический уровень деталей состояния, которого нет в индексированном представлении. ## Исследование транзакции - Начните с [Транзакции API](https://docs.fastnear.com/ru/tx) для истории аккаунта, поиска по блокам и расследования по квитанциям. - Возвращайтесь к [Справочнику RPC](https://docs.fastnear.com/ru/rpc) для канонической проверки статуса или сценариев, связанных с отправкой транзакций. ## Мониторинг почти в реальном времени - Опросите [NEAR Data API](https://docs.fastnear.com/ru/neardata), если нужны оптимистичные или недавно финализированные чтения блоков. - Логику опроса держите явной. Это не поверхность WebSocket или webhook. ## Поднятие инфраструктуры оператором - Используйте [Снапшоты](https://docs.fastnear.com/ru/snapshots), когда сценарий связан с поднятием инфраструктуры, а не когда агенту просто нужны данные из цепочки. --- ## FastNear API - HTML-маршрут: https://docs.fastnear.com/ru/api - Markdown-маршрут: https://docs.fastnear.com/ru/api.md **Источник:** [https://docs.fastnear.com/ru/api](https://docs.fastnear.com/ru/api) # FastNear API FastNear API — это индексированное REST-семейство для продуктовых представлений аккаунтов. Это самый быстрый способ ответить на вопросы вроде «чем владеет этот аккаунт?» или «какие аккаунты соответствуют этому публичному ключу?» без сборки результата из сырых RPC-вызовов. ## Базовые URL ```bash title="FastNear API Mainnet" https://api.fastnear.com ``` ```bash title="FastNear API Testnet" https://test.api.fastnear.com ``` ## Лучше всего подходит для - балансов кошельков и обзоров активов; - представлений аккаунта по NFT и FT-токенам; - поиска аккаунтов по публичному ключу; - объединённых снимков аккаунта для дашбордов, обозревателей и агентов. ## Когда его не стоит использовать - Используйте [Справочник RPC](https://docs.fastnear.com/ru/rpc), когда нужны канонические методы JSON-RPC из протокола. - Используйте [Транзакции API](https://docs.fastnear.com/ru/tx), когда основная задача — история транзакций или квитанций. - Используйте [NEAR Data API](https://docs.fastnear.com/ru/neardata), когда нужен опрос данных по блокам и проверка свежести. ## Аутентификация и доступность по сетям - Публичные REST-эндпоинты FastNear не требуют API-ключа. - Интерфейс документации может передать необязательный API-ключ FastNear, если нужно аутентифицированное поведение или повышенные лимиты на поддерживаемых поверхностях. - Добавьте `?network=testnet`, чтобы переключить совместимые страницы на testnet-бэкенд и подготовленные значения по умолчанию для testnet. ## С чего обычно начинают - [V1 полный снимок аккаунта](https://docs.fastnear.com/ru/api/v1/account-full) — для объединённого снимка аккаунта. - [V1 FT-токены аккаунта](https://docs.fastnear.com/ru/api/v1/account-ft) и [V1 NFT аккаунта](https://docs.fastnear.com/ru/api/v1/account-nft) — для продуктовых представлений активов. - [V1 поиск по публичному ключу](https://docs.fastnear.com/ru/api/v1/public-key) — когда нужно определить аккаунт по ключу. - [V1 топ держателей FT](https://docs.fastnear.com/ru/api/v1/ft-top) — для представлений распределения токенов. ## Устранение неполадок ### Мне нужно только одно низкоуровневое значение из состояния цепочки Используйте сырой RPC. Эта индексированная поверхность оптимизирована для продуктовых представлений, а не для дублирования каждого RPC-метода. ### Страница всё ещё показывает данные mainnet Проверьте, поддерживает ли страница `?network=testnet`. Некоторые сценарии работают только с mainnet, и документация явно отмечает такие случаи. ### Мне нужны транзакции, а не балансы Переходите в [Транзакции API](https://docs.fastnear.com/ru/tx), чтобы не перегружать поверхность представления аккаунта запросами по истории. --- ## Справочник API - HTML-маршрут: https://docs.fastnear.com/ru/api/reference - Markdown-маршрут: https://docs.fastnear.com/ru/api/reference.md **Источник:** [https://docs.fastnear.com/ru/api/reference](https://docs.fastnear.com/ru/api/reference) # Справочник API Этот верхнеуровневый раздел описывает поверхность FastNear REST API. Она дополняет JSON-RPC индексированными представлениями аккаунтов, токенов, NFT и публичных ключей, которыми часто удобнее пользоваться в кошельках, обозревателях, аналитике и серверных интеграциях. Сайдбар этого раздела намеренно посвящён только FastNear API. У других REST-семейств, таких как Транзакции API, API переводов, NEAR Data API и FastData API, есть собственные верхнеуровневые пункты в навигации и собственные сайдбары. ## FastNear API - [FastNear API](https://docs.fastnear.com/ru/api) для индексированного поиска аккаунтов, токенов, NFT и публичных ключей. ## Как воспринимать этот раздел Используйте эти API, когда нужны: - индексированные ответы вместо сырых JSON-RPC-обёрток; - представления под конкретные задачи, такие как «полный снимок аккаунта», «транзакции по аккаунту» или история переводов; - страницы документации с пресетами Try It для конкретного сервиса и более содержательными примерами. Используйте отдельный RPC-раздел, когда нужны прямые методы узла NEAR и канонические формы запроса и ответа протокола. --- ## Аутентификация и доступ - HTML-маршрут: https://docs.fastnear.com/ru/auth - Markdown-маршрут: https://docs.fastnear.com/ru/auth.md **Источник:** [https://docs.fastnear.com/ru/auth](https://docs.fastnear.com/ru/auth) # Аутентификация и доступ Один API-ключ FastNear работает и для [RPC](https://docs.fastnear.com/ru/rpc), и для [REST API](https://docs.fastnear.com/ru/api). Войдите на [dashboard.fastnear.com](https://dashboard.fastnear.com), чтобы получить ключ, и отправляйте его в каждом запросе одним из способов ниже. ## Через заголовок Authorization ```bash curl "https://rpc.mainnet.fastnear.com" \ -H "Authorization: Bearer ${API_KEY}" \ -H "Content-Type: application/json" \ --data '{"method":"block","params":{"finality":"final"},"id":1,"jsonrpc":"2.0"}' ``` ## Через URL-параметр `?apiKey=` ```bash curl "https://rpc.mainnet.fastnear.com?apiKey=${API_KEY}" \ -H "Content-Type: application/json" \ --data '{"method":"block","params":{"finality":"final"},"id":1,"jsonrpc":"2.0"}' ``` --- ## KV FastData API - HTML-маршрут: https://docs.fastnear.com/ru/fastdata/kv - Markdown-маршрут: https://docs.fastnear.com/ru/fastdata/kv.md **Источник:** [https://docs.fastnear.com/ru/fastdata/kv](https://docs.fastnear.com/ru/fastdata/kv) # KV FastData API KV FastData API — это семейство только для чтения данных «ключ-значение». Оно лучше всего работает, когда вы уже знаете аккаунт, вызывающий аккаунт или шаблон ключей, которые хотите проверить, и хотите получить эти строки без собственной индексации хранилища. ## Базовые URL ```bash title="KV FastData API Mainnet" https://kv.main.fastnear.com ``` ```bash title="KV FastData API Testnet" https://kv.test.fastnear.com ``` ## Лучше всего подходит для - истории данных «ключ-значение», ориентированной на вызывающий аккаунт; - запросов к данным «ключ-значение», ориентированных на аккаунт; - точного поиска по ключу или по префиксу; - пакетных сценариев поиска для отладки и агентных бэкендов. ## Когда его не стоит использовать - Используйте [FastNear API](https://docs.fastnear.com/ru/api) для более высокоуровневых представлений аккаунта, токенов и NFT. - Используйте [NEAR Data API](https://docs.fastnear.com/ru/neardata) для чтения по блокам вместо истории данных «ключ-значение». ## Аутентификация и доступность - Эти встраиваемые страницы не передают API-ключи и Bearer-токены. - Добавьте `?network=testnet`, чтобы переключить страницу на testnet-бэкенд там, где это поддерживается. - В ответах со списками поле `page_token` отсутствует, когда новых результатов больше нет. ## С чего обычно начинают - [Все по вызывающему аккаунту](https://docs.fastnear.com/ru/fastdata/kv/all-by-predecessor) — для широкого просмотра по вызывающему аккаунту. - [История по вызывающему аккаунту](https://docs.fastnear.com/ru/fastdata/kv/history-by-predecessor) — когда нужен отфильтрованный поток истории. - [История по аккаунту](https://docs.fastnear.com/ru/fastdata/kv/history-by-account) или [История по ключу](https://docs.fastnear.com/ru/fastdata/kv/history-by-key) — для более узкого чтения. - [Пакетный поиск по ключам](https://docs.fastnear.com/ru/fastdata/kv/multi) — когда вы уже знаете точные ключи. ## Устранение неполадок ### Токен пагинации перестал работать Считайте значения `page_token` непрозрачными и повторно используйте их только с тем же эндпоинтом и теми же фильтрами. ### Мне нужны продуктовые балансы аккаунта, а не сырые строки «ключ-значение» Переходите на [FastNear API](https://docs.fastnear.com/ru/api). --- ## Руководство по интернационализации - HTML-маршрут: https://docs.fastnear.com/ru/internationalization - Markdown-маршрут: https://docs.fastnear.com/ru/internationalization.md **Источник:** [https://docs.fastnear.com/ru/internationalization](https://docs.fastnear.com/ru/internationalization) Это руководство описывает локализационный фреймворк в `builder-docs`. Русская локаль была первой полной реализацией, но теперь это уже не отдельный разовый проект. Следующие локали должны использовать тот же каркас: - общий реестр локалей - собственные для локали файлы glossary и policy - безопасный bootstrap без перезаписи вычитанного контента - редакционный QA по волнам - маршрутизация, SEO и discovery-артефакты с учётом локали - локализованные FastNear-оверлеи без изменения сгенерированного английского источника ## Цели Этот фреймворк нужен, чтобы следующие локали были в основном задачей контента, а не инфраструктуры. Базовые правила такие: - английский остаётся локалью по умолчанию на `/` - локализованные docs публикуются по `//...` - канонические технические идентификаторы не переводятся - slug - пути эндпоинтов - ключи payload - имена свойств схем - operation ID - локализация сгенерированного контента остаётся оверлеем, а не правкой vendored-данных на месте ## Основные файлы ### Реестр локалей Поддерживаемые локали находятся в `src/data/localeRegistry.json`. Этот реестр является общим источником истины для: - конфигурации локалей Docusaurus - locale-aware route helpers - bootstrap и audit-скриптов - клиентских метаданных для скрытых разделов ### Глоссарий локали У каждой недефолтной локали есть `i18n//glossary.yml`. Глоссарий задаёт терминологический контракт и для людей, и для скриптов. Благодаря этому решения о переводе не расползаются по JS-массивам и prose-документам. Текущая схема: - `preserve` Термины, которые должны оставаться в канонической форме, например `RPC`, `API`, `JSON-RPC`, `GET`, `POST`, `FastNear`, `mainnet`. - `translate` Предпочтительные точные и словарные замены для повторяющихся UI- и docs-фраз. - `transliterate` Предпочтительные транслитерации для технического жаргона, если это лучше, чем оставлять латиницу. - `notes` Человеческие примечания с редакционным смыслом, которые не нужны скриптам напрямую. ### Policy-файл локали У каждой недефолтной локали есть и `i18n//translation-policy.yml`. Этот файл описывает редакционный объём и правила процесса: - `waves.wave1` Обязательные для ship docs и page model IDs. Это редакционная планка, которую проверяет CI. - `waves.wave2` Более широкий публичный охват для следующего прохода. - `hiddenSections` Префиксы маршрутов и путей docs, которые намеренно остаются вне редакционной планки, пока раздел не станет публичным. - `bootstrap` Локальные route labels и JSON overrides, которые использует scaffold-поток. Для русской локали первым таким скрытым разделом является `/transaction-flow`. ## Общие команды Теперь фреймворк использует generic-команды вместо русско-специфичных скриптов. ```bash yarn bootstrap:i18n --locale yarn bootstrap:i18n:reseed --locale yarn audit:i18n --locale --wave <1|2|all> yarn audit:i18n:all ``` Что они делают: - `bootstrap:i18n` Безопасно обновляет scaffold и добавляет отсутствующие файлы и ключи, не перезаписывая вычитанный контент. - `bootstrap:i18n:reseed` Явно разрушительный режим для случая, когда локаль нужно полностью пересоздать из bootstrap-эвристик. - `audit:i18n` Glossary-aware редакционный QA для одной локали и выбранной волны. - `audit:i18n:all` CI-ориентированная проверка `wave1` для всех недефолтных локалей. Русские совместимые алиасы всё ещё поддерживаются: ```bash yarn bootstrap:i18n:ru yarn bootstrap:i18n:ru:reseed yarn audit:i18n:ru ``` Но каноническим интерфейсом теперь считаются generic-команды. ## Как работает bootstrap `scripts/bootstrap-i18n.js` по умолчанию ведёт себя безопасно. Для локали вроде `ru` он: - запускает `write-translations --locale ru` - создаёт отсутствующие docs в `i18n/ru/docusaurus-plugin-content-docs/current` - сохраняет уже вычитанные локальные docs - добавляет отсутствующие ключи рантайма в locale JSON catalogs - обновляет `src/data/fastnearTranslations..json`, не выбрасывая уже вычитанные оверлеи - применяет локальные route labels и JSON overrides из `translation-policy.yml` То есть свежесть scaffold и ручная редактура больше не конфликтуют. ## Как работает audit `scripts/audit-i18n.js` — это лёгкий редакционный барьер качества. Он читает: - glossary локали для списка допустимых literal-терминов - translation policy для границ волн и исключений скрытых разделов - docs локали в `i18n//...` - каталоги переводов рантайма для локали - FastNear overlay catalog локали Проверка ищет подозрительные английские остатки, но уважает допустимые literal-термины: - названия протоколов - HTTP verbs - продуктовые имена - code identifiers - канонические фрагменты путей Это практический QA, а не попытка отполировать весь длинный хвост в первый же день. ## Политика волн Каждая локаль должна проходить через одну и ту же редакционную модель. ### Wave 1 Wave 1 — это shipping bar. Сюда входят: - главная страница и ключевые decision pages - основные входные точки для auth, API, RPC и transactions - самые заметные generated operation wrappers и overlay entries - живые строки интерфейса рантайма на этих страницах Только Wave 1 проверяется в CI. ### Wave 2 Wave 2 — это расширение публичной поверхности. Сюда входят: - дополнительные leaf docs - overview-страницы из длинного хвоста - дополнительные generated overlay entries - менее приоритетный, но всё ещё публичный текст рантайма Wave 2 важен, но специально остаётся неблокирующим. ### Long tail Long-tail работа — это дальнейшая полировка: - maintainer docs - редкие leaf pages - редко видимые theme strings - малопосещаемые generated pages Эта работа должна продолжаться, но не должна блокировать здоровый выпуск локали. ## Скрытые разделы Скрытые разделы должны быть явно помечены, чтобы широкое файловое покрытие не принимали за редакционную готовность. Источник истины — `translation-policy.yml.hiddenSections`. Эти префиксы влияют на две вещи: - исключаются из обязательной `wave1`-готовности - на страницах этих разделов показывается заметный баннер, который объясняет, что перевод и редакторская полировка намеренно отложены до публикации раздела Сейчас по этому правилу живёт `/transaction-flow`. ## Рантайм, маршрутизация и discovery Фреймворк покрывает не только prose, но и остальные поверхности, которые будущие локали должны наследовать автоматически. Важные файлы: - `docusaurus.config.js` - `src/utils/localizedRoutes.js` - `src/utils/fastnearLocalization.js` - `scripts/generate-ai-surfaces.js` - `plugins/finalizeLocalizedStaticAssets.cjs` Вместе они обеспечивают: - корректную работу locale dropdown и locale-aware routing - сохранение активной локали для внутренних ссылок - локализацию FastNear overlay без изменения source page models - выпуск локализованных Markdown mirrors, `llms.txt` и site graph из правильного корня локали - локализованные URL и `inLanguage` в structured data и SEO ## Лёгкий CI-барьер Locale-quality gate намеренно сделан небольшим. Обязательный workflow запускает: ```bash yarn audit:i18n:all yarn build node scripts/audit-indexing-surface.js ``` Этого достаточно, чтобы защитить: - качество `wave1` - корректность сборки - корректность discovery и indexing Playwright, relevance scoring и более тяжёлые редакционные проверки сюда специально не включены. ## Как добавить новую локаль Используйте такой чеклист: 1. Добавьте локаль в `src/data/localeRegistry.json`. 2. Создайте `i18n//glossary.yml`. 3. Создайте `i18n//translation-policy.yml`. 4. Запустите `yarn bootstrap:i18n --locale `. 5. Вычитайте `i18n//code.json` и дерево docs. 6. Добавьте `src/data/fastnearTranslations..json` для generated FastNear overlay. 7. Запустите `yarn audit:i18n --locale --wave 1`. 8. Запустите `yarn build` и `node scripts/audit-indexing-surface.js`. 9. Добавьте браузерные smoke-checks только там, где локаль вносит новое поведение рантайма. Если идти по этому списку, следующие локали будут в основном редакционной задачей поверх уже готового фреймворка. --- ## NEAR Data API - HTML-маршрут: https://docs.fastnear.com/ru/neardata - Markdown-маршрут: https://docs.fastnear.com/ru/neardata.md **Источник:** [https://docs.fastnear.com/ru/neardata](https://docs.fastnear.com/ru/neardata) # NEAR Data API NEAR Data API — это поверхность для чтения данных почти в реальном времени, а также по семействам блоков. Используйте её, когда нужны свежие срезы блоков, вспомогательные маршруты с перенаправлением или недавние финализированные и оптимистичные чтения, но без позиционирования продукта как потокового сервиса. ## Базовые URL ```bash title="NEAR Data API Mainnet" https://mainnet.neardata.xyz ``` ```bash title="NEAR Data API Testnet" https://testnet.neardata.xyz ``` ## Лучше всего подходит для - опроса недавних финализированных и оптимистичных блоков; - вспомогательных маршрутов по блокам и сценариев с перенаправлением; - лёгких проверок свежести данных и мониторинга. ## Когда его не стоит использовать - Используйте [Справочник RPC](https://docs.fastnear.com/ru/rpc) для канонических методов JSON-RPC и отправки транзакций. - Используйте [Снапшоты](https://docs.fastnear.com/ru/snapshots) для поднятия инфраструктуры, а не для чтения живых данных. ## Аутентификация и доступность - В подписках FastNear на поддерживаемом трафике можно использовать необязательный параметр запроса `apiKey`. - Неверный API-ключ возвращает `401` ещё до того, как сработают вспомогательные перенаправления, поэтому при отладке с неверным ключом канонический URL не будет виден. - Добавьте `?network=testnet`, чтобы переключить совместимые страницы на значения по умолчанию для testnet. ## С чего обычно начинают - [Оптимистичный блок](https://docs.fastnear.com/ru/neardata/block-optimistic) — для самого свежего опроса блоков. - [Финализированный блок по высоте](https://docs.fastnear.com/ru/neardata/block) и [Заголовки блока](https://docs.fastnear.com/ru/neardata/block-headers) — для запросов по финализированным блокам. - [Перенаправление на последний финализированный блок](https://docs.fastnear.com/ru/neardata/last-block-final) и [Перенаправление на последний оптимистичный блок](https://docs.fastnear.com/ru/neardata/last-block-optimistic) — когда нужны вспомогательные маршруты с перенаправлением. ## Устранение неполадок ### Некоторые эндпоинты перенаправляют на канонический URL вместо прямого возврата результата Это ожидаемое поведение для вспомогательных маршрутов с перенаправлением. Если клиенту нужен итоговый ресурс, переходите по канонической цели. ### Ответ по блоку равен `null` Обычно это означает, что запрошенной высоты нет в этой сети или запрос вышел за ожидаемый диапазон свежести либо архива. ### Нужна потоковая передача, а не опрос Эта поверхность предназначена для чтения через опрос почти в реальном времени. Не позиционируйте её как продукт на основе WebSocket или вебхуков. --- ## redocly-config - HTML-маршрут: https://docs.fastnear.com/ru/redocly-config - Markdown-маршрут: https://docs.fastnear.com/ru/redocly-config.md **Источник:** [https://docs.fastnear.com/ru/redocly-config](https://docs.fastnear.com/ru/redocly-config) # Заметки о прежнем бэкенде Redocly Этот документ фиксирует текущую роль прежнего бэкенда Redocly в `mike-docs`. ## Текущее состояние Публичная документация больше не использует Redocly как основной рантайм. - Публичные страницы API и RPC рендерятся напрямую в `builder-docs`. - Канонические маршруты `/rpcs/...` и `/apis/...` хостятся в `builder-docs`. - `mike-docs` сохраняет Redocly только для проверок, сверки паритета и завершающей миграционной очистки. ## Где Redocly всё ещё нужен Используйте путь через Redocly только тогда, когда нужно проверить: - поведение `@theme/ext/configure.ts`; - параметры, влияющие на форму запроса, такие как `preset`, `body`, `path.*`, `query.*` и `header.*`; - локальный паритет между прямым рантаймом и прежним порталом. Локальные команды: ```bash cd /Users/mikepurvis/near/mike-docs npm run preview:headless npm run preview:portal ``` ## Текущая схема аутентификации Общий браузерный контракт аутентификации такой: 1. `?apiKey=` 2. `localStorage.fastnear:apiKey` 3. legacy `localStorage.fastnear_api_key` Bearer-токены по-прежнему используют: 1. `?token=` 2. `localStorage.fastnear:bearer` ## Текущие источники истины Для актуальных деталей реализации используйте: - `mike-docs/README.md` - `mike-docs/INTEGRATION_GUIDE.md` - `builder-docs/CLAUDE.md` --- ## Справочник RPC - HTML-маршрут: https://docs.fastnear.com/ru/rpc - Markdown-маршрут: https://docs.fastnear.com/ru/rpc.md **Источник:** [https://docs.fastnear.com/ru/rpc](https://docs.fastnear.com/ru/rpc) # Справочник RPC FastNear RPC даёт прямой доступ по JSON-RPC к узлам NEAR для запросов состояния, проверки блоков и чанков, отправки транзакций, чтения данных валидаторов и диагностики протокола. ## Базовые URL Обычные RPC хранят самые свежие эпохи состояния и подходят для большинства прикладных запросов по умолчанию: ```bash title="Обычный RPC mainnet" https://rpc.mainnet.fastnear.com ``` ```bash title="Обычный RPC testnet" https://rpc.testnet.fastnear.com ``` Архивные RPC открывают всю историю цепочки, когда нужны старые блоки, квитанции или историческое состояние контракта: ```bash title="Архивный RPC mainnet" https://archival-rpc.mainnet.fastnear.com ``` ```bash title="Архивный RPC testnet" https://archival-rpc.testnet.fastnear.com ``` ## С чего обычно начинают - [`view_account`](https://docs.fastnear.com/ru/rpc/account/view-account), [`view_access_key`](https://docs.fastnear.com/ru/rpc/account/view-access-key), [`view_access_key_list`](https://docs.fastnear.com/ru/rpc/account/view-access-key-list) — запросы по аккаунту и ключам доступа. - [`block`](https://docs.fastnear.com/ru/rpc/block/block-by-id) — поиск по высоте или хешу; [`block_effects`](https://docs.fastnear.com/ru/rpc/block/block-effects) — изменения внутри блока. - [`call_function`](https://docs.fastnear.com/ru/rpc/contract/call-function), [`view_code`](https://docs.fastnear.com/ru/rpc/contract/view-code), [`view_state`](https://docs.fastnear.com/ru/rpc/contract/view-state) — работа с контрактами. - [`status`](https://docs.fastnear.com/ru/rpc/protocol/status), [`health`](https://docs.fastnear.com/ru/rpc/protocol/health), [`gas_price`](https://docs.fastnear.com/ru/rpc/protocol/gas-price) — диагностика узла и протокола. - [`send_tx`](https://docs.fastnear.com/ru/rpc/transaction/send-tx) — отправка транзакций; [`tx`](https://docs.fastnear.com/ru/rpc/transaction/tx-status) — статус исполнения. - [`validators`](https://docs.fastnear.com/ru/rpc/validators/validators-current) — валидаторы текущей эпохи. ## Используйте RPC, когда - нужны канонические формы запросов и ответов из протокола; - важно поведение настоящего узла для запросов состояния и поиска блоков; - требуется отправка транзакций или проверка результатов исполнения; - нужен самый низкоуровневый доступ до перехода к индексированным или продуктовым представлениям. ## Не используйте RPC, когда - нужен единый вызов для получения балансов, NFT, позиций стейкинга или поиска по публичному ключу; - нужна индексированная история транзакций по аккаунту вместо опроса узлов и сшивания ответов; - простота продуктового интерфейса важнее прямого контроля над протоколом. В этих случаях переходите к индексированным REST-семействам, например [FastNear API](https://docs.fastnear.com/ru/api), [Транзакции API](https://docs.fastnear.com/ru/tx) или [NEAR Data API](https://docs.fastnear.com/ru/neardata). ## Аутентификация и лимиты - API-ключи FastNear необязательны; публичные эндпоинты работают и без них. - Для повышенных лимитов или платного доступа используйте [Аутентификацию и доступ](https://docs.fastnear.com/ru/auth): один и тот же ключ передаётся либо в заголовке `Authorization: Bearer`, либо в URL-параметре `?apiKey=`. ## Устранение неполадок ### Запрос работает локально, но падает на продовом контуре Проверьте, не полагались ли вы на то, что интерфейс документации автоматически подставляет API-ключ. Продовые бэкенды должны передавать учётные данные явно и не зависеть от хранения в браузере. ### Мне нужно более старое состояние, чем возвращает обычный RPC Переключитесь с обычного RPC-эндпоинта на архивный RPC-эндпоинт. ### Мне нужен более простой ответ, чем даёт JSON-RPC Обычно это означает, что нужно индексированное REST-семейство, а не сырой RPC. Воспользуйтесь страницей выбора поверхности и подберите более высокий уровень абстракции. --- ## Снапшоты для валидаторов - HTML-маршрут: https://docs.fastnear.com/ru/snapshots - Markdown-маршрут: https://docs.fastnear.com/ru/snapshots.md **Источник:** [https://docs.fastnear.com/ru/snapshots](https://docs.fastnear.com/ru/snapshots) # Снапшоты блокчейна :::warning[Бесплатные снапшоты устарели] Бесплатные снапшоты данных nearcore больше не выпускаются. Infrastructure Committee и Near One рекомендуют использовать Epoch Sync и децентрализованную синхронизацию состояния. Подробности есть на [NEAR Nodes](https://near-nodes.io). ::: Скачайте состояние блокчейна, если хотите быстрее поднять валидаторский или RPC-узел. Подробнее о требованиях к узлам и запуску смотрите в [nearcore](https://github.com/near/nearcore?tab=readme-ov-file#about-near). :::info[Установка rclone] Для этих крупных загрузок используется `rclone`, который можно установить так: ```bash sudo -v ; curl https://rclone.org/install.sh | sudo bash ``` ::: Более подробные рекомендации по настройке валидаторов доступны на [NEAR Nodes](https://near-nodes.io). Эти руководства используют ту же логику, что и [репозиторий FastNear static](https://github.com/fastnear/static). ## Выберите сеть - [Снапшоты mainnet](https://docs.fastnear.com/ru/snapshots/mainnet) - [Снапшоты testnet](https://docs.fastnear.com/ru/snapshots/testnet) --- ## mainnet - HTML-маршрут: https://docs.fastnear.com/ru/snapshots/mainnet - Markdown-маршрут: https://docs.fastnear.com/ru/snapshots/mainnet.md **Источник:** [https://docs.fastnear.com/ru/snapshots/mainnet](https://docs.fastnear.com/ru/snapshots/mainnet) # Mainnet ## Оптимизированный снапшот mainnet Обычно это предпочтительный способ синхронизации. Архивный снапшот заметно больше и подходит для более узких задач. Узлы с достаточными ресурсами могут использовать значение `$RPC_TYPE=fast-rpc`. По умолчанию используется `rpc`. Перед запуском скрипта загрузки снапшота можно задать следующие переменные окружения: - `CHAIN_ID` — `mainnet` или `testnet` (по умолчанию: `mainnet`) - `RPC_TYPE` — `rpc` (по умолчанию) или `fast-rpc` - `THREADS` — число потоков для загрузки. Используйте `128` для 10Gbps и `16` для 1Gbps (по умолчанию: `128`) - `TPSLIMIT` — максимальное число новых HTTP-действий в секунду (по умолчанию: `4096`) - `BWLIMIT` — максимальная пропускная способность для загрузки, если её нужно ограничить (по умолчанию: `10G`) - `DATA_PATH` — путь, куда будет загружен снапшот (по умолчанию: `~/.near/data`) - `BLOCK` — высота блока нужного снапшота. Если не указать, будет загружен последний снапшот. **Выполните эту команду, чтобы скачать RPC-снапшот mainnet:** :::info Будут заданы следующие переменные окружения: - `DATA_PATH=~/.near/data` — стандартный путь nearcore - `CHAIN_ID=mainnet` — явно выбирает данные mainnet - `RPC_TYPE=fast-rpc` — включает оптимизированный режим ::: `RPC Mainnet Snapshot » ~/.near/data`: ```bash curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/fastnear/static/refs/heads/main/down_rclone.sh | DATA_PATH=~/.near/data CHAIN_ID=mainnet RPC_TYPE=fast-rpc bash ``` ## RPC-снапшот mainnet Это стандартный способ получить снапшот без оптимизированного режима из предыдущего раздела. Перед запуском скрипта загрузки снапшота можно задать следующие переменные окружения: - `CHAIN_ID` — `mainnet` или `testnet` (по умолчанию: `mainnet`) - `RPC_TYPE` — `rpc` (по умолчанию) или `fast-rpc` - `THREADS` — число потоков для загрузки. Используйте `128` для 10Gbps и `16` для 1Gbps (по умолчанию: `128`) - `TPSLIMIT` — максимальное число новых HTTP-действий в секунду (по умолчанию: `4096`) - `BWLIMIT` — максимальная пропускная способность для загрузки, если её нужно ограничить (по умолчанию: `10G`) - `DATA_PATH` — путь, куда будет загружен снапшот (по умолчанию: `~/.near/data`) - `BLOCK` — высота блока нужного снапшота. Если не указать, будет загружен последний снапшот. **Выполните эту команду, чтобы скачать RPC-снапшот mainnet:** :::info Будут заданы следующие переменные окружения: - `DATA_PATH=~/.near/data` — стандартный путь nearcore - `CHAIN_ID=mainnet` — явно выбирает данные mainnet ::: `RPC Mainnet Snapshot » ~/.near/data`: ```bash curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/fastnear/static/refs/heads/main/down_rclone.sh | DATA_PATH=~/.near/data CHAIN_ID=mainnet bash ``` ## Архивный снапшот mainnet :::warning **Требует много времени и места на диске.** Подготовьтесь к очень большому объёму загрузки и длительному времени выполнения. Размер снапшота составляет около 60 ТБ, и он содержит более 1 миллиона файлов. ::: Перед запуском скрипта загрузки можно задать следующие переменные окружения: - `CHAIN_ID` — `mainnet` или `testnet` (по умолчанию: `mainnet`) - `THREADS` — число потоков для загрузки. Используйте `128` для 10Gbps и `16` для 1Gbps (по умолчанию: `128`) - `TPSLIMIT` — максимальное число новых HTTP-действий в секунду (по умолчанию: `4096`) - `DATA_TYPE` — `hot-data` или `cold-data` (по умолчанию: `cold-data`) - `BWLIMIT` — максимальная пропускная способность для загрузки, если её нужно ограничить (по умолчанию: `10G`) - `DATA_PATH` — путь, куда будет загружен снапшот (по умолчанию: `/mnt/nvme/data/$DATA_TYPE`) - `BLOCK` — высота блока нужного снапшота. Если не указать, будет загружен последний снапшот. По умолчанию скрипт ожидает следующие пути для данных: - Hot data, которые должны лежать на NVME: `/mnt/nvme/data/hot-data` - Cold data, которые можно хранить на HDD: `/mnt/nvme/data/cold-data` **Выполните следующие команды, чтобы скачать архивный снапшот mainnet:** 1. Получите высоту блока последнего снапшота: `Latest archival mainnet snapshot block`: ```bash LATEST=$(curl -s "https://snapshot.neardata.xyz/mainnet/archival/latest.txt") echo "Latest snapshot block: $LATEST" ``` 2. Скачайте данные HOT из снапшота. Их нужно разместить на NVME. :::info Будут заданы следующие переменные окружения: - `DATA_TYPE=hot-data` — выбирает загрузку Hot data - `DATA_PATH=~/.near/data` — стандартный путь nearcore - `CHAIN_ID=mainnet` — явно выбирает данные mainnet - `BLOCK=$LATEST` — указывает блок снапшота ::: `Archival Mainnet Snapshot (hot-data) » ~/.near/data`: ```bash curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/fastnear/static/refs/heads/main/down_rclone_archival.sh | DATA_TYPE=hot-data DATA_PATH=~/.near/data CHAIN_ID=mainnet BLOCK=$LATEST bash ``` 3. Скачайте данные COLD из снапшота. Их можно разместить на HDD. :::info Будут заданы следующие переменные окружения: - `DATA_TYPE=cold-data` — выбирает загрузку Cold data - `DATA_PATH=/mnt/hdds/cold-data` — путь для размещения cold data. **Обратите внимание:** конфигурация nearcore должна указывать на тот же путь для cold data. - `CHAIN_ID=mainnet` — явно выбирает данные mainnet - `BLOCK=$LATEST` — указывает блок снапшота ::: `Archival Mainnet Snapshot (cold-data) » /mnt/hdds/cold-data`: ```bash curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/fastnear/static/refs/heads/main/down_rclone_archival.sh | DATA_TYPE=cold-data DATA_PATH=/mnt/hdds/cold-data CHAIN_ID=mainnet BLOCK=$LATEST bash ``` --- ## testnet - HTML-маршрут: https://docs.fastnear.com/ru/snapshots/testnet - Markdown-маршрут: https://docs.fastnear.com/ru/snapshots/testnet.md **Источник:** [https://docs.fastnear.com/ru/snapshots/testnet](https://docs.fastnear.com/ru/snapshots/testnet) # Testnet ## RPC-снапшот testnet Обычно это предпочтительный способ синхронизации. Архивный снапшот заметно больше и нужен для более узких задач. Перед запуском скрипта загрузки снапшота можно задать следующие переменные окружения: - `CHAIN_ID` — `mainnet` или `testnet` (по умолчанию: `mainnet`) - `THREADS` — число потоков для загрузки. Используйте `128` для 10Gbps и `16` для 1Gbps (по умолчанию: `128`) - `TPSLIMIT` — максимальное число новых HTTP-действий в секунду (по умолчанию: `4096`) - `BWLIMIT` — максимальная пропускная способность для загрузки, если её нужно ограничить (по умолчанию: `10G`) - `DATA_PATH` — путь, куда будет загружен снапшот (по умолчанию: `~/.near/data`) - `BLOCK` — высота блока нужного снапшота. Если не указать, будет загружен последний снапшот. **Выполните эту команду, чтобы скачать RPC-снапшот testnet:** :::info Будут заданы следующие переменные окружения: - `DATA_PATH=~/.near/data` — стандартный путь nearcore - `CHAIN_ID=testnet` — явно выбирает данные testnet ::: `RPC Testnet Snapshot » ~/.near/data`: ```bash curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/fastnear/static/refs/heads/main/down_rclone.sh | DATA_PATH=~/.near/data CHAIN_ID=testnet bash ``` ## Архивный снапшот testnet :::warning **Требует много времени и места на диске.** Подготовьтесь к большому объёму загрузки и длительному времени выполнения. ::: Перед запуском скрипта загрузки можно задать следующие переменные окружения: - `CHAIN_ID` — `mainnet` или `testnet` (по умолчанию: `mainnet`) - `THREADS` — число потоков для загрузки. Используйте `128` для 10Gbps и `16` для 1Gbps (по умолчанию: `128`) - `TPSLIMIT` — максимальное число новых HTTP-действий в секунду (по умолчанию: `4096`) - `DATA_TYPE` — `hot-data` или `cold-data` (по умолчанию: `cold-data`) - `BWLIMIT` — максимальная пропускная способность для загрузки, если её нужно ограничить (по умолчанию: `10G`) - `DATA_PATH` — путь, куда будет загружен снапшот (по умолчанию: `/mnt/nvme/data/$DATA_TYPE`) - `BLOCK` — высота блока нужного снапшота. Если не указать, будет загружен последний снапшот. По умолчанию скрипт ожидает следующий путь для данных: - Hot data, которые должны лежать на NVME: `/mnt/nvme/data/hot-data` **Выполните следующие команды, чтобы скачать архивный снапшот testnet:** 1. Получите высоту блока последнего снапшота: `Latest archival testnet snapshot block`: ```bash LATEST=$(curl -s "https://snapshot.neardata.xyz/testnet/archival/latest.txt") echo "Latest snapshot block: $LATEST" ``` 2. Скачайте данные HOT из снапшота. Их нужно разместить на NVME. :::info Будут заданы следующие переменные окружения: - `DATA_TYPE=hot-data` — выбирает загрузку Hot data - `DATA_PATH=~/.near/data` — стандартный путь nearcore - `CHAIN_ID=testnet` — явно выбирает сеть testnet - `BLOCK=$LATEST` — указывает блок снапшота ::: `Archival Testnet Snapshot (hot-data) » ~/.near/data`: ```bash curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/fastnear/static/refs/heads/main/down_rclone_archival.sh | DATA_TYPE=hot-data DATA_PATH=~/.near/data CHAIN_ID=testnet BLOCK=$LATEST bash ``` --- ## API переводов - HTML-маршрут: https://docs.fastnear.com/ru/transfers - Markdown-маршрут: https://docs.fastnear.com/ru/transfers.md **Источник:** [https://docs.fastnear.com/ru/transfers](https://docs.fastnear.com/ru/transfers) # API переводов API переводов — это индексированная поверхность истории переводов. Используйте её, когда нужна только история переводов NEAR или FT-токенов, без более широкого контекста транзакции. ## Базовый URL ```bash title="Transfers API Mainnet" https://transfers.main.fastnear.com ``` Эта поверхность сейчас доступна только в mainnet; `?network=testnet` не переключает бэкенд. ## Лучше всего подходит для - лент переводов; - представлений истории кошелька; - инструментов комплаенса, поддержки и расследований для отслеживания входящих и исходящих переводов. ## Когда его не стоит использовать - Используйте [Транзакции API](https://docs.fastnear.com/ru/tx), когда нужна более широкая история транзакций или квитанций. - Используйте [FastNear API](https://docs.fastnear.com/ru/api), когда нужны балансы, активы или представления аккаунта, а не события передачи активов. ## Аутентификация и доступность - Эти страницы сейчас не используют API-ключи или Bearer-токены. - Ответы включают непрозрачный `resume_token` для пагинации. ## С чего обычно начинают - [Запрос переводов](https://docs.fastnear.com/ru/transfers/query) — лента по аккаунту с фильтрами по направлению, активу, сумме и времени. - Повторно используйте непрозрачный `resume_token` ровно в том виде, в каком его вернул сервис, при листании истории. ## Устранение неполадок ### Мне нужны полные метаданные транзакции Переходите к [Транзакции API](https://docs.fastnear.com/ru/tx), если одной истории переводов недостаточно. ### `resume_token` перестал работать Считайте токен непрозрачным и используйте его только с тем же эндпоинтом и фильтрами, которые его вернули. --- ## Транзакции API - HTML-маршрут: https://docs.fastnear.com/ru/tx - Markdown-маршрут: https://docs.fastnear.com/ru/tx.md **Источник:** [https://docs.fastnear.com/ru/tx](https://docs.fastnear.com/ru/tx) # Транзакции API Транзакции API — это поверхность истории. Используйте её, когда нужны индексированные представления транзакций или квитанций без постоянного опроса сырых RPC-методов и ручного объединения результатов. ## Базовые URL ```bash title="Transactions API Mainnet" https://tx.main.fastnear.com ``` ```bash title="Transactions API Testnet" https://tx.test.fastnear.com ``` ## Лучше всего подходит для - лент активности аккаунта; - инструментов отладки и поддержки; - поиска транзакций и квитанций по хешу; - запросов по блокам и диапазонам блоков. ## Когда его не стоит использовать - Используйте [FastNear API](https://docs.fastnear.com/ru/api), когда нужны балансы, NFT, стейкинг или поиск по публичному ключу. - Используйте [Справочник RPC](https://docs.fastnear.com/ru/rpc), когда нужно каноническое поведение узла или отправка транзакций. ## Аутентификация и доступность - Эти страницы сейчас не используют API-ключи или Bearer-токены. - Сервис предназначен для индексированного доступа к истории, а не для отправки транзакций. ## С чего обычно начинают - [Транзакции по хешу](https://docs.fastnear.com/ru/tx/transactions) — когда вы уже знаете идентификатор транзакции. - [История аккаунта](https://docs.fastnear.com/ru/tx/account) — для лент активности и отладки аккаунта. - [Поиск квитанции](https://docs.fastnear.com/ru/tx/receipt) — для расследования цепочки исполнения. - [Диапазон блоков](https://docs.fastnear.com/ru/tx/blocks) — когда нужен ограниченный по диапазону просмотр истории. ## Устранение неполадок ### Я ожидал, что здесь можно отправлять транзакции Это семейство предназначено для индексированных запросов по истории, а не для отправки подписанных транзакций. Для отправки используйте сырой RPC. ### Мне нужны пояснения по пагинации `/v0/account` использует непрозрачный `resume_token`, а `/v0/blocks` опирается на диапазон и лимит. Повторно используйте непрозрачные токены ровно в том виде, в каком их вернул сервис. ### Мне нужен только один канонический результат статуса транзакции из RPC Используйте сырой RPC вместо индексированного семейства истории. --- ## RPC протокола NEAR: Просмотр ключа доступа - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/account/view_access_key - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/account/view_access_key.md # RPC протокола NEAR: Просмотр ключа доступа Просмотр ключа доступа аккаунта Возвращает информацию о конкретном ключе доступа аккаунта NEAR. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/account/view_access_key - https://docs.fastnear.com/ru/rpcs/account/view_access_key/other/view_access_key - https://docs.fastnear.com/ru/reference/operation/view_access_key ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/account/view_access_key.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "account_id": "root.near", "public_key": "ed25519:CByX7HPjgSGFi5G26zwgZGDFCFyBHvSv1fe7AFzmVe3", "request_type": "view_access_key", "finality": "final" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "account_id": "root.near", "public_key": "ed25519:CByX7HPjgSGFi5G26zwgZGDFCFyBHvSv1fe7AFzmVe3", "request_type": "view_access_key", "finality": "final" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `account_id` (body, обязательный, string): ID аккаунта NEAR. - `public_key` (body, обязательный, string): Публичный ключ в формате `ed25519:...` или `secp256k1:...`. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "query" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "request_type", "account_id", "public_key", "финальность" ], "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "public_key", "required": true, "schema": { "type": "string", "description": "Публичный ключ с префиксом ed25519: или secp256k1:" } }, { "name": "request_type", "required": true, "schema": { "type": "string", "enum": [ "view_access_key" ] } }, { "name": "финальность", "required": true, "schema": { "type": "string", "description": "Финальность блока", "enum": [ "final", "near-final", "optimistic" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Информация о ключе доступа ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "description": "Описывает область действия ключа доступа и nonce.", "required": [ "nonce", "permission" ], "properties": [ { "name": "nonce", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "permission", "required": true, "schema": { "type": "object", "description": "One of multiple possible types" } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Список ключей доступа - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/account/view_access_key_list - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/account/view_access_key_list.md # RPC протокола NEAR: Список ключей доступа Просмотр списка ключей доступа аккаунта Возвращает список всех ключей доступа аккаунта NEAR. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/account/view_access_key_list - https://docs.fastnear.com/ru/rpcs/account/view_access_key_list/other/view_access_key_list - https://docs.fastnear.com/ru/reference/operation/view_access_key_list ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/account/view_access_key_list.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "account_id": "root.near", "request_type": "view_access_key_list", "finality": "final" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "account_id": "root.near", "request_type": "view_access_key_list", "finality": "final" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `account_id` (body, обязательный, string): ID аккаунта NEAR. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "query" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "request_type", "account_id", "финальность" ], "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "request_type", "required": true, "schema": { "type": "string", "enum": [ "view_access_key_list" ] } }, { "name": "финальность", "required": true, "schema": { "type": "string", "description": "Финальность блока", "enum": [ "final", "near-final", "optimistic" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Список ключей доступа аккаунта ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "description": "Список ключей доступа", "required": [ "ключи" ], "properties": [ { "name": "ключи", "required": true, "schema": { "type": "array", "items": { "type": "object", "description": "Описывает информацию о ключе доступа, включая публичный ключ." } } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Просмотр аккаунта - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/account/view_account - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/account/view_account.md # RPC протокола NEAR: Просмотр аккаунта Просмотр аккаунта Возвращает подробную информацию об аккаунте NEAR, включая баланс и использование хранилища. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/account/view_account - https://docs.fastnear.com/ru/rpcs/account/view_account/other/view_account - https://docs.fastnear.com/ru/reference/operation/view_account ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/account/view_account.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "account_id": "root.near", "request_type": "view_account", "finality": "final" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "account_id": "root.near", "request_type": "view_account", "finality": "final" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `account_id` (body, обязательный, string): ID аккаунта NEAR. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "query" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "request_type", "account_id", "финальность" ], "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "request_type", "required": true, "schema": { "type": "string", "enum": [ "view_account" ] } }, { "name": "финальность", "required": true, "schema": { "type": "string", "description": "Финальность блока", "enum": [ "final", "near-final", "optimistic" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Сведения об аккаунте ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "description": "Представление аккаунта", "required": [ "amount", "locked", "code_hash", "storage_usage" ], "properties": [ { "name": "amount", "required": true, "schema": { "type": "string", "description": "Amount in yoctoNEAR" } }, { "name": "code_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "global_contract_account_id", "required": false, "schema": { "type": "string", "nullable": true, "description": "ID аккаунта NEAR" } }, { "name": "global_contract_hash", "required": false, "schema": { "type": "string", "nullable": true, "description": "Base58-encoded hash" } }, { "name": "locked", "required": true, "schema": { "type": "string", "description": "Amount in yoctoNEAR" } }, { "name": "storage_paid_at", "required": false, "schema": { "type": "integer", "description": "TODO(2271): deprecated.", "format": "uint64", "default": 0 } }, { "name": "storage_usage", "required": true, "schema": { "type": "integer", "format": "uint64" } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Блок по высоте - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/block/block_by_height - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/block/block_by_height.md # RPC протокола NEAR: Блок по высоте Получить блок по высоте Возвращает данные блока по указанной высоте. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/block/block_by_height - https://docs.fastnear.com/ru/rpcs/block/block_by_height/other/block_by_height - https://docs.fastnear.com/ru/reference/operation/block_by_height ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/block/block_by_height.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "блок", "params": { "block_id": 193909529 } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "блок", "params": { "block_id": 193909529 } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `block_id` (body, обязательный, integer): Высота блока NEAR для запроса. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "блок" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "block_id" ], "properties": [ { "name": "block_id", "required": true, "schema": { "type": "integer", "description": "Высота блока для запроса" } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object" } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Блок по хешу - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/block/block_by_id - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/block/block_by_id.md # RPC протокола NEAR: Блок по хешу Получить блок по хешу Возвращает данные блока по указанному хешу. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/block/block_by_id - https://docs.fastnear.com/ru/rpcs/block/block_by_id/other/block_by_id - https://docs.fastnear.com/ru/reference/operation/block_by_id ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/block/block_by_id.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "блок", "params": { "block_id": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "блок", "params": { "block_id": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `block_id` (body, обязательный, string): Хеш блока в кодировке Base58. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "блок" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "block_id" ], "properties": [ { "name": "block_id", "required": true, "schema": { "type": "string", "description": "Хеш блока в кодировке Base58" } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object" } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Эффекты блока - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/block/block_effects - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/block/block_effects.md # RPC протокола NEAR: Эффекты блока Получить эффекты блока Возвращает изменения, вызванные блоком, для заданной высоты блока или хеша по всем типам транзакций. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/block/block_effects - https://docs.fastnear.com/ru/rpcs/block/block_effects/other/block_effects - https://docs.fastnear.com/ru/reference/operation/block_effects ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/block/block_effects.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "block_effects", "params": { "block_id": 193909529 } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "block_effects", "params": { "block_id": 193909529 } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `block_id` (body, обязательный, integer | string): Высота блока (целое число) или хеш блока (строка). ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "block_effects" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "block_id" ], "properties": [ { "name": "block_id", "required": true, "schema": { "description": "Высота блока (целое число) или хеш блока (строка)", "oneOf": [ { "type": "integer", "description": "Высота блока" }, { "type": "string", "description": "Хеш блока в кодировке Base58" } ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "block_hash", "changes" ], "properties": [ { "name": "block_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "changes", "required": true, "schema": { "type": "array", "items": { "type": "object", "description": "One of multiple possible types" } } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Вызов view-метода - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/contract/call - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/contract/call.md # RPC протокола NEAR: Вызов view-метода Вызвать view-метод контракта Выполняет view-метод смарт-контракта без изменения состояния. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/contract/call - https://docs.fastnear.com/ru/rpcs/contract/call/other/call_function - https://docs.fastnear.com/ru/reference/operation/call_function ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/contract/call.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "request_type": "call_function", "finality": "final", "account_id": "contract.near", "method_name": "get_info", "args_base64": "e30=" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "request_type": "call_function", "finality": "final", "account_id": "contract.near", "method_name": "get_info", "args_base64": "e30=" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `account_id` (body, обязательный, string): ID аккаунта NEAR. - `args_base64` (body, обязательный, string): Аргументы метода в кодировке Base64. - `method_name` (body, обязательный, string): Имя view-метода контракта. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "query" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "request_type", "account_id", "method_name", "args_base64", "финальность" ], "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "args_base64", "required": true, "schema": { "type": "string", "description": "Base64-encoded method arguments" } }, { "name": "method_name", "required": true, "schema": { "type": "string" } }, { "name": "request_type", "required": true, "schema": { "type": "string", "enum": [ "call_function" ] } }, { "name": "финальность", "required": true, "schema": { "type": "string", "description": "Финальность блока", "enum": [ "final", "near-final", "optimistic" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "description": "Результат, возвращённый методом контракта", "required": [ "result", "logs" ], "properties": [ { "name": "logs", "required": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "result", "required": true, "schema": { "type": "array", "items": { "type": "integer", "format": "uint8" } } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Код контракта - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/contract/view_code - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/contract/view_code.md # RPC протокола NEAR: Код контракта Получить код контракта Возвращает код контракта (Wasm), опубликованный в аккаунте. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/contract/view_code - https://docs.fastnear.com/ru/rpcs/contract/view_code/other/view_code - https://docs.fastnear.com/ru/reference/operation/view_code ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/contract/view_code.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "account_id": "intents.near", "request_type": "view_code", "finality": "final" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "account_id": "intents.near", "request_type": "view_code", "finality": "final" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `account_id` (body, обязательный, string): ID аккаунта NEAR. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "query" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "request_type", "account_id", "финальность" ], "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "request_type", "required": true, "schema": { "type": "string", "enum": [ "view_code" ] } }, { "name": "финальность", "required": true, "schema": { "type": "string", "description": "Финальность блока", "enum": [ "final", "near-final", "optimistic" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "description": "Представление кода контракта.", "required": [ "code_base64", "hash" ], "properties": [ { "name": "code_base64", "required": true, "schema": { "type": "string" } }, { "name": "hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Глобальный код контракта - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/contract/view_global_contract_code - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/contract/view_global_contract_code.md # RPC протокола NEAR: Глобальный код контракта Получить глобальный код контракта Возвращает глобально развёрнутый код контракта по его хешу. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/contract/view_global_contract_code - https://docs.fastnear.com/ru/rpcs/contract/view_global_contract_code/other/view_global_contract_code - https://docs.fastnear.com/ru/reference/operation/view_global_contract_code ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/contract/view_global_contract_code.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "code_hash": "ExampleCodeHash", "request_type": "view_global_contract_code", "finality": "final" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "code_hash": "ExampleCodeHash", "request_type": "view_global_contract_code", "finality": "final" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `code_hash` (body, обязательный, string): Хеш в кодировке Base58. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "query" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "request_type", "code_hash", "финальность" ], "properties": [ { "name": "code_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "request_type", "required": true, "schema": { "type": "string", "enum": [ "view_global_contract_code" ] } }, { "name": "финальность", "required": true, "schema": { "type": "string", "description": "Финальность блока", "enum": [ "final", "near-final", "optimistic" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "description": "Представление кода контракта.", "required": [ "code_base64", "hash" ], "properties": [ { "name": "code_base64", "required": true, "schema": { "type": "string" } }, { "name": "hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Глобальный код контракта по аккаунту - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/contract/view_global_contract_code_by_account_id - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/contract/view_global_contract_code_by_account_id.md # RPC протокола NEAR: Глобальный код контракта по аккаунту Получить глобальный код контракта по аккаунту Возвращает глобально развёрнутый код контракта, который использует указанный аккаунт. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/contract/view_global_contract_code_by_account_id - https://docs.fastnear.com/ru/rpcs/contract/view_global_contract_code_by_account_id/other/view_global_contract_code_by_account_id - https://docs.fastnear.com/ru/reference/operation/view_global_contract_code_by_account_id ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/contract/view_global_contract_code_by_account_id.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "account_id": "global-contract.nfts.tg", "request_type": "view_global_contract_code_by_account_id", "finality": "final" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "account_id": "global-contract.nfts.tg", "request_type": "view_global_contract_code_by_account_id", "finality": "final" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `account_id` (body, обязательный, string): ID аккаунта NEAR. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "query" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "request_type", "account_id", "финальность" ], "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "request_type", "required": true, "schema": { "type": "string", "enum": [ "view_global_contract_code_by_account_id" ] } }, { "name": "финальность", "required": true, "schema": { "type": "string", "description": "Финальность блока", "enum": [ "final", "near-final", "optimistic" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "description": "Представление кода контракта.", "required": [ "code_base64", "hash" ], "properties": [ { "name": "code_base64", "required": true, "schema": { "type": "string" } }, { "name": "hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Состояние контракта - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/contract/view_state - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/contract/view_state.md # RPC протокола NEAR: Состояние контракта Получить состояние контракта Возвращает состояние (пары ключ-значение), сохранённое для аккаунта контракта. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/contract/view_state - https://docs.fastnear.com/ru/rpcs/contract/view_state/other/view_state - https://docs.fastnear.com/ru/reference/operation/view_state ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/contract/view_state.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "request_type": "view_state", "finality": "final", "account_id": "lockup.near", "prefix_base64": "U1RBVEU=" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "query", "params": { "request_type": "view_state", "finality": "final", "account_id": "lockup.near", "prefix_base64": "U1RBVEU=" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `account_id` (body, обязательный, string): ID аккаунта NEAR. - `include_proof` (body, boolean): Добавить криптографическое доказательство к ответу. - `prefix_base64` (body, обязательный, string): Префикс ключа хранилища в кодировке Base64. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "query" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "request_type", "account_id", "prefix_base64", "финальность" ], "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "include_proof", "required": false, "schema": { "type": "boolean" } }, { "name": "prefix_base64", "required": true, "schema": { "type": "string", "description": "Ключ хранилища в кодировке Base64" } }, { "name": "request_type", "required": true, "schema": { "type": "string", "enum": [ "view_state" ] } }, { "name": "финальность", "required": true, "schema": { "type": "string", "description": "Финальность блока", "enum": [ "final", "near-final", "optimistic" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "description": "Итоговые значения состояния для запроса просмотра состояния", "required": [ "values" ], "properties": [ { "name": "доказательство", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "values", "required": true, "schema": { "type": "array", "items": { "type": "object", "description": "Элемент состояния: ключ и значение сериализованы в Base64, а также приложено доказательство включения этого элемента состояния." } } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Изменения состояния - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/changes - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/changes.md # RPC протокола NEAR: Изменения состояния Получить изменения состояния Возвращает изменения для выбранного аккаунта, контракта или кода контракта по заданной высоте блока или хешу. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/changes - https://docs.fastnear.com/ru/rpcs/protocol/changes/other/changes - https://docs.fastnear.com/ru/reference/operation/changes ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/changes.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "changes", "params": { "finality": "final", "changes_type": "account_changes", "account_ids": [ "root.near" ] } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "changes", "params": { "finality": "final", "changes_type": "account_changes", "account_ids": [ "root.near" ] } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `changes_type` (body, обязательный, string): Селектор изменений состояния, используемый в этом примере. - `account_ids` (body, обязательный, array): Аккаунты, изменения состояния которых нужно вернуть. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "changes" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "финальность", "changes_type", "account_ids" ], "properties": [ { "name": "финальность", "required": true, "schema": { "type": "string", "description": "Финальность блока", "enum": [ "final", "near-final", "optimistic" ] } }, { "name": "changes_type", "required": true, "schema": { "type": "string", "description": "Селектор изменений состояния для этого примера", "enum": [ "account_changes" ] } }, { "name": "account_ids", "required": true, "schema": { "type": "array", "description": "Аккаунты, для которых нужно вернуть изменения состояния", "items": { "type": "string", "description": "ID аккаунта NEAR" } } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "block_hash", "changes" ], "properties": [ { "name": "block_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "changes", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "cause" ], "properties": [ { "name": "cause", "required": true, "schema": { "type": "object", "description": "One of multiple possible types" } } ] } } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Чанк по блоку и шарду - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/chunk_by_block_shard - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/chunk_by_block_shard.md # RPC протокола NEAR: Чанк по блоку и шарду Получить чанк по блоку и шарду Возвращает сведения о чанке по координатам `block_id` и `shard_id`. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/chunk_by_block_shard - https://docs.fastnear.com/ru/rpcs/protocol/chunk_by_block_shard/other/chunk_by_block_shard - https://docs.fastnear.com/ru/reference/operation/chunk_by_block_shard ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/chunk_by_block_shard.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "chunk", "params": { "block_id": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E", "shard_id": 10 } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "chunk", "params": { "block_id": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E", "shard_id": 10 } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `block_id` (body, обязательный, integer | string): Высота блока (целое число) или хеш блока (строка). - `shard_id` (body, обязательный, integer): Идентификатор шарда. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "chunk" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "block_id", "shard_id" ], "properties": [ { "name": "block_id", "required": true, "schema": { "description": "Высота блока (целое число) или хеш блока (строка)", "oneOf": [ { "type": "integer", "description": "Высота блока" }, { "type": "string", "description": "Хеш блока в кодировке Base58" } ] } }, { "name": "shard_id", "required": true, "schema": { "type": "integer", "description": "Shard identifier" } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "author", "header", "транзакции", "квитанции" ], "properties": [ { "name": "author", "required": true, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "header", "required": true, "schema": { "type": "object", "description": "Contains main info about the chunk.", "required": [ "chunk_hash", "prev_block_hash", "outcome_root", "prev_state_root", "encoded_merkle_root", "encoded_length", "height_created", "height_included", "shard_id", "gas_used", "gas_limit", "balance_burnt", "outgoing_receipts_root", "tx_root", "validator_proposals", "signature" ], "properties": [ { "name": "balance_burnt", "required": true, "schema": { "type": "string", "description": "Amount in yoctoNEAR" } }, { "name": "bandwidth_requests", "required": false, "schema": { "type": "object", "nullable": true, "description": "One of multiple possible types" } }, { "name": "chunk_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "congestion_info", "required": false, "schema": { "type": "object", "nullable": true, "description": "Хранит уровень перегрузки шарда. Подробнее о перегрузке [здесь](https://near.github.io/nearcore/architecture/how/receipt-congestion.html?highlight=congestion#receipt-congestion)" } }, { "name": "encoded_length", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "encoded_merkle_root", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "gas_limit", "required": true, "schema": { "type": "string", "description": "Количество газа" } }, { "name": "gas_used", "required": true, "schema": { "type": "string", "description": "Количество газа" } }, { "name": "height_created", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "height_included", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "outcome_root", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "outgoing_receipts_root", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "prev_block_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "prev_state_root", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "rent_paid", "required": false, "schema": { "type": "string", "description": "Amount in yoctoNEAR", "default": "0" } }, { "name": "shard_id", "required": true, "schema": { "type": "integer", "description": "Shard identifier" } }, { "name": "signature", "required": true, "schema": { "type": "string", "description": "Base58-encoded cryptographic signature" } }, { "name": "tx_root", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "validator_proposals", "required": true, "schema": { "type": "array", "items": { "type": "object" } } }, { "name": "validator_reward", "required": false, "schema": { "type": "string", "description": "Amount in yoctoNEAR", "default": "0" } } ] } }, { "name": "квитанции", "required": true, "schema": { "type": "array", "items": { "type": "object" } } }, { "name": "транзакции", "required": true, "schema": { "type": "array", "items": { "type": "object" } } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Чанк по хешу - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/chunk_by_hash - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/chunk_by_hash.md # RPC протокола NEAR: Чанк по хешу Получить чанк по хешу Возвращает сведения о чанке по его хешу. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/chunk_by_hash - https://docs.fastnear.com/ru/rpcs/protocol/chunk_by_hash/other/chunk_by_hash - https://docs.fastnear.com/ru/reference/operation/chunk_by_hash ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/chunk_by_hash.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "chunk", "params": { "chunk_id": "H6zcZFttQB82dDKUgZUcB3D7kU2TKCToujEu4dAmNtey" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "chunk", "params": { "chunk_id": "H6zcZFttQB82dDKUgZUcB3D7kU2TKCToujEu4dAmNtey" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `chunk_id` (body, обязательный, string): Хеш чанка в кодировке Base58. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "chunk" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "chunk_id" ], "properties": [ { "name": "chunk_id", "required": true, "schema": { "type": "string", "description": "Base58-encoded chunk hash" } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "author", "header", "транзакции", "квитанции" ], "properties": [ { "name": "author", "required": true, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "header", "required": true, "schema": { "type": "object", "description": "Contains main info about the chunk.", "required": [ "chunk_hash", "prev_block_hash", "outcome_root", "prev_state_root", "encoded_merkle_root", "encoded_length", "height_created", "height_included", "shard_id", "gas_used", "gas_limit", "balance_burnt", "outgoing_receipts_root", "tx_root", "validator_proposals", "signature" ], "properties": [ { "name": "balance_burnt", "required": true, "schema": { "type": "string", "description": "Amount in yoctoNEAR" } }, { "name": "bandwidth_requests", "required": false, "schema": { "type": "object", "nullable": true, "description": "One of multiple possible types" } }, { "name": "chunk_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "congestion_info", "required": false, "schema": { "type": "object", "nullable": true, "description": "Хранит уровень перегрузки шарда. Подробнее о перегрузке [здесь](https://near.github.io/nearcore/architecture/how/receipt-congestion.html?highlight=congestion#receipt-congestion)" } }, { "name": "encoded_length", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "encoded_merkle_root", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "gas_limit", "required": true, "schema": { "type": "string", "description": "Количество газа" } }, { "name": "gas_used", "required": true, "schema": { "type": "string", "description": "Количество газа" } }, { "name": "height_created", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "height_included", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "outcome_root", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "outgoing_receipts_root", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "prev_block_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "prev_state_root", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "rent_paid", "required": false, "schema": { "type": "string", "description": "Amount in yoctoNEAR", "default": "0" } }, { "name": "shard_id", "required": true, "schema": { "type": "integer", "description": "Shard identifier" } }, { "name": "signature", "required": true, "schema": { "type": "string", "description": "Base58-encoded cryptographic signature" } }, { "name": "tx_root", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "validator_proposals", "required": true, "schema": { "type": "array", "items": { "type": "object" } } }, { "name": "validator_reward", "required": false, "schema": { "type": "string", "description": "Amount in yoctoNEAR", "default": "0" } } ] } }, { "name": "квитанции", "required": true, "schema": { "type": "array", "items": { "type": "object" } } }, { "name": "транзакции", "required": true, "schema": { "type": "array", "items": { "type": "object" } } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Конфигурация клиента - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/client_config - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/client_config.md # RPC протокола NEAR: Конфигурация клиента Получить конфигурацию клиента Запрашивает конфигурацию клиента узла. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/client_config - https://docs.fastnear.com/ru/rpcs/protocol/client_config/other/client_config - https://docs.fastnear.com/ru/reference/operation/client_config ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/client_config.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "client_config", "params": [] } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "client_config", "params": [] }, "headers": {}, "path": {}, "query": {} } ``` ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "client_config" ] } }, { "name": "params", "required": true, "schema": { "type": "array", "description": "Empty array as this method takes no parameters", "example": [] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "description": "ClientConfig where some fields can be updated at runtime.", "properties": [ { "name": "archive", "required": false, "schema": { "type": "boolean", "description": "Not clear old data, set `true` for archive nodes." } }, { "name": "block_fetch_horizon", "required": false, "schema": { "type": "integer", "description": "Горизонт, после которого вместо получения блока извлекается полное состояние.", "format": "uint64" } }, { "name": "block_header_fetch_horizon", "required": false, "schema": { "type": "integer", "description": "Behind this horizon header fetch kicks in.", "format": "uint64" } }, { "name": "block_production_tracking_delay", "required": false, "schema": { "type": "array", "description": "Интервал проверки необходимости выпустить или пропустить блок.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "catchup_step_period", "required": false, "schema": { "type": "array", "description": "Time between check to perform catchup.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "chain_id", "required": false, "schema": { "type": "string", "description": "ID цепочки для статуса." } }, { "name": "chunk_distribution_network", "required": false, "schema": { "type": "object", "nullable": true, "description": "Конфигурация функции Chunk Distribution Network.\nОна позволяет узлам отправлять и получать чанки через центральный поток.\nПреимущества такого подхода: (1) меньше трафика запросов и ответов\nв одноранговой сети и (2) меньшая задержка для RPC-узлов, индексирующих цепочку.", "properties": [ { "name": "enabled", "required": false, "schema": { "type": "boolean" } }, { "name": "uris", "required": false, "schema": { "type": "object", "description": "URI для функции Chunk Distribution Network." } } ] } }, { "name": "chunk_request_retry_period", "required": false, "schema": { "type": "array", "description": "Время между проверками на повторный запрос чанков.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "chunk_validation_threads", "required": false, "schema": { "type": "integer", "description": "Number of threads for ChunkValidationActor pool.", "format": "uint" } }, { "name": "chunk_wait_mult", "required": false, "schema": { "type": "array", "description": "Multiplier for the wait time for all chunks to be received.", "items": { "type": "integer", "format": "int32" } } }, { "name": "chunks_cache_height_horizon", "required": false, "schema": { "type": "integer", "description": "Height horizon for the chunk cache. A chunk is removed from the cache\nif its height + chunks_cache_height_horizon < largest_seen_height.\nThe default value is DEFAULT_CHUNKS_CACHE_HEIGHT_HORIZON.", "format": "uint64" } }, { "name": "client_background_migration_threads", "required": false, "schema": { "type": "integer", "description": "Количество потоков, выполняющих фоновые миграционные работы в клиенте.", "format": "uint" } }, { "name": "cloud_archival_writer", "required": false, "schema": { "type": "object", "nullable": true, "description": "Конфигурация облачного компонента записи архивных данных. Если эта конфигурация задана, компонент включается и\nзаписывает данные, связанные с чанками, на основе отслеживаемых шардов. Эта конфигурация также управляет дополнительным архивным\nповедением, например записью данных блоков и интервалом опроса.", "properties": [ { "name": "archive_block_data", "required": false, "schema": { "type": "boolean", "description": "Определяет, должны ли данные, связанные с блоками, записываться в облачное хранилище.", "default": false } }, { "name": "polling_interval", "required": false, "schema": { "type": "object", "description": "Интервал, с которым система проверяет новые блоки или чанки для архивации.", "default": { "nanos": 0, "secs": 1 } } } ] } }, { "name": "disable_tx_routing", "required": false, "schema": { "type": "boolean", "description": "Если значение `true`, узел не будет пересылать транзакции следующим производителям чанков." } }, { "name": "doomslug_step_period", "required": false, "schema": { "type": "array", "description": "Time between running doomslug timer.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "enable_early_prepare_transactions", "required": false, "schema": { "type": "boolean", "description": "Если значение `true`, транзакции для следующего чанка будут подготавливаться заранее, сразу после того,\nкак будет готово post-state предыдущего чанка. Это помогает быстрее выпускать чанки в сетях с высокой пропускной способностью.\nТекущая реализация увеличивает задержку в сетях с низкой нагрузкой; это будет исправлено позже.\nПо умолчанию параметр отключён." } }, { "name": "enable_multiline_logging", "required": false, "schema": { "type": "boolean" } }, { "name": "enable_statistics_export", "required": false, "schema": { "type": "boolean", "description": "Re-export storage layer statistics as prometheus metrics." } }, { "name": "epoch_length", "required": false, "schema": { "type": "integer", "description": "Epoch length.", "format": "uint64" } }, { "name": "epoch_sync", "required": false, "schema": { "type": "object", "description": "Options for epoch sync.", "properties": [ { "name": "epoch_sync_horizon_num_epochs", "required": false, "schema": { "type": "integer", "description": "Количество эпох от головы сети, за пределами которого узел переключится с header-синхронизации\nна epoch-синхронизацию. На стороне потребителя это значение\nумножается на epoch_length, чтобы получить горизонт в блоках.", "format": "uint64", "default": 2 } }, { "name": "timeout_for_epoch_sync", "required": false, "schema": { "type": "object", "description": "Timeout for epoch sync requests. The node will continue retrying indefinitely even\nif this timeout is exceeded." } } ] } }, { "name": "expected_shutdown", "required": false, "schema": { "type": "string", "description": "Корректное завершение работы на ожидаемой высоте блока." } }, { "name": "gc", "required": false, "schema": { "type": "object", "description": "Configuration for garbage collection.", "properties": [ { "name": "gc_blocks_limit", "required": false, "schema": { "type": "integer", "description": "Максимальное количество блоков, собираемых сборщиком мусора\nза один вызов.", "format": "uint64", "default": 2 } }, { "name": "gc_fork_clean_step", "required": false, "schema": { "type": "integer", "description": "Maximum number of height to go through at each garbage collection step\nwhen cleaning forks during garbage collection.", "format": "uint64", "default": 100 } }, { "name": "gc_num_epochs_to_keep", "required": false, "schema": { "type": "integer", "description": "Number of epochs for which we keep store data.", "format": "uint64", "default": 5 } }, { "name": "gc_step_period", "required": false, "schema": { "type": "object", "description": "How often gc should be run", "default": { "nanos": 500000000, "secs": 0 } } } ] } }, { "name": "header_sync_expected_height_per_second", "required": false, "schema": { "type": "integer", "description": "Expected increase of header head height per second during header sync", "format": "uint64" } }, { "name": "header_sync_initial_timeout", "required": false, "schema": { "type": "array", "description": "How much time to wait after initial header sync", "items": { "type": "integer", "format": "uint64" } } }, { "name": "header_sync_progress_timeout", "required": false, "schema": { "type": "array", "description": "How much time to wait after some progress is made in header sync", "items": { "type": "integer", "format": "uint64" } } }, { "name": "header_sync_stall_ban_timeout", "required": false, "schema": { "type": "array", "description": "How much time to wait before banning a peer in header sync if sync is too slow", "items": { "type": "integer", "format": "uint64" } } }, { "name": "log_summary_period", "required": false, "schema": { "type": "array", "description": "Period between logging summary information.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "log_summary_style", "required": false, "schema": { "type": "string", "description": "Enable coloring of the logs", "enum": [ "plain", "colored" ] } }, { "name": "max_block_production_delay", "required": false, "schema": { "type": "array", "description": "Максимальное время ожидания подтверждений перед выпуском блока.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "max_block_wait_delay", "required": false, "schema": { "type": "array", "description": "Maximum duration before skipping given height.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "max_gas_burnt_view", "required": false, "schema": { "type": "string", "nullable": true, "description": "Количество газа" } }, { "name": "min_block_production_delay", "required": false, "schema": { "type": "array", "description": "Минимальная длительность перед выпуском блока.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "min_num_peers", "required": false, "schema": { "type": "integer", "description": "Minimum number of peers to start syncing.", "format": "uint" } }, { "name": "num_block_producer_seats", "required": false, "schema": { "type": "integer", "description": "Количество мест для производителей блоков", "format": "uint64" } }, { "name": "orphan_state_witness_max_size", "required": false, "schema": { "type": "integer", "description": "Максимальный размер state witness в OrphanStateWitnessPool.\nВ пуле сохраняются только orphan-witness, размер которых меньше этого значения.\nЭто ограничивает максимальное потребление памяти пулом OrphanStateWitnessPool.", "format": "uint64" } }, { "name": "orphan_state_witness_pool_size", "required": false, "schema": { "type": "integer", "description": "OrphanStateWitnessPool хранит экземпляры ChunkStateWitness, которые нельзя обработать,\nпотому что предыдущий блок недоступен. Эти witness остаются в пуле, пока\nне появится нужный блок. Эта переменная определяет, сколько witness можно хранить в пуле.", "format": "uint" } }, { "name": "produce_chunk_add_transactions_time_limit", "required": false, "schema": { "type": "string", "description": "Ограничивает время добавления транзакций в чанк.\nНода формирует чанк, добавляя транзакции из пула транзакций, пока\nне будет достигнут один из лимитов. Этот лимит по времени гарантирует, что добавление транзакций не займёт\nдольше указанной длительности и поможет быстрее выпустить чанк." } }, { "name": "produce_empty_blocks", "required": false, "schema": { "type": "boolean", "description": "Выпускать пустые блоки; значение `false` используется для тестирования." } }, { "name": "protocol_version_check", "required": false, "schema": { "type": "string", "description": "Определяет, проверяет ли узел совместимость версии сети для следующей или через одну эпохи.", "enum": [ "Next", "NextNext" ] } }, { "name": "resharding_config", "required": false, "schema": { "type": "string" } }, { "name": "rpc_addr", "required": false, "schema": { "type": "string", "nullable": true, "description": "Порт RPC для статуса, на котором слушает узел." } }, { "name": "save_invalid_witnesses", "required": false, "schema": { "type": "boolean", "description": "Save observed instances of invalid ChunkStateWitness to the database in DBCol::InvalidChunkStateWitnesses.\nSaving invalid witnesses is useful for analysis and debugging.\nThis option can cause extra load on the database and is not recommended for production use." } }, { "name": "save_latest_witnesses", "required": false, "schema": { "type": "boolean", "description": "Сохраняет наблюдаемые экземпляры ChunkStateWitness в базу данных DBCol::LatestChunkStateWitnesses.\nСохранение последних экземпляров ChunkStateWitness полезно для анализа и отладки.\nЭта опция может создавать дополнительную нагрузку на базу данных и не рекомендуется для продового контура." } }, { "name": "save_state_changes", "required": false, "schema": { "type": "boolean", "description": "Нужно ли сохранять изменения состояния на диск." } }, { "name": "save_trie_changes", "required": false, "schema": { "type": "boolean", "description": "save_trie_changes should be set to true iff\n- archive if false - non-archival nodes need trie changes to perform garbage collection\n- archive is true, cold_store is configured and migration to split_storage is finished - node\nworking in split storage mode needs trie changes in order to do garbage collection on hot." } }, { "name": "save_tx_outcomes", "required": false, "schema": { "type": "boolean", "description": "Нужно ли сохранять результаты транзакций на диск." } }, { "name": "save_untracked_partial_chunks_parts", "required": false, "schema": { "type": "boolean", "description": "Whether to persist partial chunk parts for untracked shards or not." } }, { "name": "skip_sync_wait", "required": false, "schema": { "type": "boolean", "description": "Skip waiting for sync (for testing or single node testnet)." } }, { "name": "state_request_server_threads", "required": false, "schema": { "type": "integer", "description": "Number of threads for StateRequestActor pool.", "format": "uint" } }, { "name": "state_request_throttle_period", "required": false, "schema": { "type": "array", "description": "Количество секунд между запросами состояния для view-клиента.\nОкно троттлинга для запросов состояния (заголовки и части).", "items": { "type": "integer", "format": "uint64" } } }, { "name": "state_requests_per_throttle_period", "required": false, "schema": { "type": "integer", "description": "Максимальное количество запросов состояния, обслуживаемых за период троттлинга", "format": "uint" } }, { "name": "state_sync", "required": false, "schema": { "type": "object", "description": "Параметры синхронизации состояния.", "properties": [ { "name": "concurrency", "required": false, "schema": { "type": "object" } }, { "name": "dump", "required": false, "schema": { "type": "object", "nullable": true, "description": "Настраивает способ выгрузки состояния во внешнее хранилище." } }, { "name": "parts_compression_lvl", "required": false, "schema": { "type": "integer", "description": "Уровень сжатия Zstd для частей состояния.", "format": "int32", "default": 1 } }, { "name": "sync", "required": false, "schema": { "type": "string", "nullable": true, "description": "Синхронизирует состояние от пиров, не читая ничего из внешнего хранилища.", "enum": [ "Peers" ] } } ] } }, { "name": "state_sync_enabled", "required": false, "schema": { "type": "boolean", "description": "Использовать ли механизм State Sync.\nЕсли отключён, узел будет выполнять Block Sync вместо State Sync." } }, { "name": "state_sync_external_backoff", "required": false, "schema": { "type": "array", "description": "Дополнительное время ожидания после неудачного запроса к внешнему хранилищу", "items": { "type": "integer", "format": "uint64" } } }, { "name": "state_sync_external_timeout", "required": false, "schema": { "type": "array", "description": "Как долго ждать ответа от централизованной синхронизации состояния", "items": { "type": "integer", "format": "uint64" } } }, { "name": "state_sync_p2p_timeout", "required": false, "schema": { "type": "array", "description": "Как долго ждать ответа от p2p-синхронизации состояния", "items": { "type": "integer", "format": "uint64" } } }, { "name": "state_sync_retry_backoff", "required": false, "schema": { "type": "array", "description": "Как долго ждать после неудачного запроса синхронизации состояния", "items": { "type": "integer", "format": "uint64" } } }, { "name": "sync_check_period", "required": false, "schema": { "type": "array", "description": "How often to check that we are not out of sync.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "sync_height_threshold", "required": false, "schema": { "type": "integer", "description": "Sync height threshold: below this difference in height don't start syncing.", "format": "uint64" } }, { "name": "sync_max_block_requests", "required": false, "schema": { "type": "integer", "description": "Максимальное количество запросов блоков, отправляемых пирам для синхронизации", "format": "uint" } }, { "name": "sync_step_period", "required": false, "schema": { "type": "array", "description": "While syncing, how long to check for each step.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "tracked_shards_config", "required": false, "schema": { "type": "object", "description": "One of multiple possible types" } }, { "name": "transaction_pool_size_limit", "required": false, "schema": { "type": "integer", "nullable": true, "description": "Ограничение размера пула транзакций одного шарда в байтах. Если не задано,\nразмер не ограничен.", "format": "uint64" } }, { "name": "transaction_request_handler_threads", "required": false, "schema": { "type": "integer", "format": "uint" } }, { "name": "trie_viewer_state_size_limit", "required": false, "schema": { "type": "integer", "nullable": true, "description": "Верхняя граница размера состояния контракта в байтах, при котором оно ещё доступно для просмотра. None — без ограничения", "format": "uint64" } }, { "name": "ttl_account_id_router", "required": false, "schema": { "type": "array", "description": "Time to persist Accounts Id in the router without removing them.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "tx_routing_height_horizon", "required": false, "schema": { "type": "integer", "description": "Если узел не является производителем чанков в пределах этого числа блоков,\nмаршрутизировать запросы к будущим производителям чанков.", "format": "uint64" } }, { "name": "version", "required": false, "schema": { "type": "object", "description": "Data structure for semver version and github tag or commit.", "required": [ "version", "build", "commit" ], "properties": [ { "name": "build", "required": true, "schema": { "type": "string" } }, { "name": "commit", "required": true, "schema": { "type": "string" } }, { "name": "rustc_version", "required": false, "schema": { "type": "string", "default": "" } }, { "name": "version", "required": true, "schema": { "type": "string" } } ] } }, { "name": "view_client_threads", "required": false, "schema": { "type": "integer", "description": "Количество потоков для пула ViewClientActor.", "format": "uint" } }, { "name": "dynamic_resharding_dry_run", "required": false, "schema": { "type": "boolean", "description": "Если значение `true`, рантайм выполнит пробный динамический ресхардинг на последнем блоке каждой эпохи.\nЭто означает вычисление предварительных граничных аккаунтов для разделения отслеживаемых шардов." } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Уровень перегрузки - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_congestion_level - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_congestion_level.md # RPC протокола NEAR: Уровень перегрузки Получить уровень перегрузки Запрашивает уровень перегрузки выбранного шарда. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_congestion_level - https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_congestion_level/other/EXPERIMENTAL_congestion_level - https://docs.fastnear.com/ru/reference/operation/EXPERIMENTAL_congestion_level ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/EXPERIMENTAL_congestion_level.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_congestion_level", "params": { "block_id": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E", "shard_id": 10 } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_congestion_level", "params": { "block_id": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E", "shard_id": 10 } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `block_id` (body, обязательный, integer | string): Высота блока (целое число) или хеш блока (строка). - `shard_id` (body, обязательный, integer): Идентификатор шарда. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "EXPERIMENTAL_congestion_level" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "nullable": true, "required": [ "block_id", "shard_id" ], "properties": [ { "name": "block_id", "required": true, "schema": { "description": "Высота блока (целое число) или хеш блока (строка)", "oneOf": [ { "type": "integer", "description": "Высота блока" }, { "type": "string", "description": "Хеш блока в кодировке Base58" } ] } }, { "name": "shard_id", "required": true, "schema": { "type": "integer", "description": "Shard identifier" } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "congestion_level" ], "properties": [ { "name": "congestion_level", "required": true, "schema": { "type": "number", "format": "double" } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Доказательство блока для лайт-клиента - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_light_client_block_proof - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_light_client_block_proof.md # RPC протокола NEAR: Доказательство блока для лайт-клиента Получить доказательство блока для лайт-клиента Возвращает доказательство блока для лайт-клиента. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_light_client_block_proof - https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_light_client_block_proof/other/EXPERIMENTAL_light_client_block_proof - https://docs.fastnear.com/ru/reference/operation/EXPERIMENTAL_light_client_block_proof ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/EXPERIMENTAL_light_client_block_proof.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_light_client_block_proof", "params": { "block_hash": "8fbT7nWhBwsBJjPcwhv2uqzseFJSd5Y4XcqfLAWryBsu", "light_client_head": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_light_client_block_proof", "params": { "block_hash": "8fbT7nWhBwsBJjPcwhv2uqzseFJSd5Y4XcqfLAWryBsu", "light_client_head": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `block_hash` (body, обязательный, string): Хеш в кодировке Base58. - `light_client_head` (body, обязательный, string): Хеш в кодировке Base58. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "EXPERIMENTAL_light_client_block_proof" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "block_hash", "light_client_head" ], "properties": [ { "name": "block_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "light_client_head", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "block_header_lite", "block_proof" ], "properties": [ { "name": "block_header_lite", "required": true, "schema": { "type": "object", "required": [ "prev_block_hash", "inner_rest_hash", "inner_lite" ], "properties": [ { "name": "inner_lite", "required": true, "schema": { "type": "object", "description": "Часть состояния для текущей головы лёгкого клиента. Подробнее [здесь](https://nomicon.io/ChainSpec/LightClient)." } }, { "name": "inner_rest_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "prev_block_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } } ] } }, { "name": "block_proof", "required": true, "schema": { "type": "array", "items": { "type": "object" } } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Доказательство исполнения для лайт-клиента - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_light_client_proof - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_light_client_proof.md # RPC протокола NEAR: Доказательство исполнения для лайт-клиента Получить доказательство исполнения для лайт-клиента Возвращает доказательство исполнения транзакции для лайт-клиента. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_light_client_proof - https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_light_client_proof/other/EXPERIMENTAL_light_client_proof - https://docs.fastnear.com/ru/reference/operation/EXPERIMENTAL_light_client_proof ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/EXPERIMENTAL_light_client_proof.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_light_client_proof", "params": { "light_client_head": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E", "sender_id": "intents.near", "transaction_hash": "4EQZ5qoEJUbz8SRNkNwrAPtsn2VFhg9Ci1weaNNpiuR7", "type": "транзакция" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_light_client_proof", "params": { "light_client_head": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E", "sender_id": "intents.near", "transaction_hash": "4EQZ5qoEJUbz8SRNkNwrAPtsn2VFhg9Ci1weaNNpiuR7", "type": "транзакция" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `light_client_head` (body, обязательный, string): Хеш в кодировке Base58. - `sender_id` (body, string): ID аккаунта NEAR. - `transaction_hash` (body, string): Хеш в кодировке Base58. - `type` (body, string) ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "EXPERIMENTAL_light_client_proof" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "light_client_head" ], "properties": [ { "name": "light_client_head", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "sender_id", "required": false, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "transaction_hash", "required": false, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "type", "required": false, "schema": { "type": "string", "enum": [ "транзакция" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "outcome_proof", "outcome_root_proof", "block_header_lite", "block_proof" ], "properties": [ { "name": "block_header_lite", "required": true, "schema": { "type": "object", "required": [ "prev_block_hash", "inner_rest_hash", "inner_lite" ], "properties": [ { "name": "inner_lite", "required": true, "schema": { "type": "object", "description": "Часть состояния для текущей головы лёгкого клиента. Подробнее [здесь](https://nomicon.io/ChainSpec/LightClient)." } }, { "name": "inner_rest_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "prev_block_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } } ] } }, { "name": "block_proof", "required": true, "schema": { "type": "array", "items": { "type": "object" } } }, { "name": "outcome_proof", "required": true, "schema": { "type": "object", "required": [ "доказательство", "block_hash", "id", "outcome" ], "properties": [ { "name": "block_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "id", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "outcome", "required": true, "schema": { "type": "object" } }, { "name": "доказательство", "required": true, "schema": { "type": "array", "items": { "type": "object" } } } ] } }, { "name": "outcome_root_proof", "required": true, "schema": { "type": "array", "items": { "type": "object" } } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Конфигурация протокола - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_protocol_config - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_protocol_config.md # RPC протокола NEAR: Конфигурация протокола Получить конфигурацию протокола Возвращает конфигурацию на уровне протокола: стоимость газа и хранения, лимиты, флаги возможностей и другие параметры. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_protocol_config - https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_protocol_config/other/EXPERIMENTAL_protocol_config - https://docs.fastnear.com/ru/reference/operation/EXPERIMENTAL_protocol_config ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/EXPERIMENTAL_protocol_config.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_protocol_config", "params": { "finality": "final" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_protocol_config", "params": { "finality": "final" } }, "headers": {}, "path": {}, "query": {} } ``` ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "EXPERIMENTAL_protocol_config" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "финальность" ], "properties": [ { "name": "финальность", "required": true, "schema": { "type": "string", "description": "Финальность блока", "enum": [ "final", "near-final", "optimistic" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "properties": [ { "name": "avg_hidden_validator_seats_per_shard", "required": false, "schema": { "type": "array", "description": "Ожидаемое количество скрытых валидаторов на шард.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "block_producer_kickout_threshold", "required": false, "schema": { "type": "integer", "description": "Порог исключения производителей блоков, значение от 0 до 100.", "format": "uint8" } }, { "name": "chain_id", "required": false, "schema": { "type": "string", "description": "ID блокчейна. Должен быть уникальным для каждого блокчейна.\nЕсли у ваших testnet-блокчейнов chain ID не уникальны, вас ждут проблемы." } }, { "name": "chunk_producer_kickout_threshold", "required": false, "schema": { "type": "integer", "description": "Threshold for kicking out chunk producers, between 0 and 100.", "format": "uint8" } }, { "name": "chunk_validator_only_kickout_threshold", "required": false, "schema": { "type": "integer", "description": "Порог исключения нод, которые являются только валидаторами чанков, значение от 0 до 100.", "format": "uint8" } }, { "name": "dynamic_resharding", "required": false, "schema": { "type": "boolean", "description": "Enable dynamic re-sharding." } }, { "name": "epoch_length", "required": false, "schema": { "type": "integer", "description": "Длина эпохи, измеряемая в высотах блоков.", "format": "uint64" } }, { "name": "fishermen_threshold", "required": false, "schema": { "type": "string", "description": "Amount in yoctoNEAR" } }, { "name": "gas_limit", "required": false, "schema": { "type": "string", "description": "Количество газа" } }, { "name": "gas_price_adjustment_rate", "required": false, "schema": { "type": "array", "description": "Коэффициент корректировки цены газа", "items": { "type": "integer", "format": "int32" } } }, { "name": "genesis_height", "required": false, "schema": { "type": "integer", "description": "Высота генезис-блока.", "format": "uint64" } }, { "name": "genesis_time", "required": false, "schema": { "type": "string", "description": "Официальное время запуска блокчейна.", "format": "date-time" } }, { "name": "max_gas_price", "required": false, "schema": { "type": "string", "description": "Amount in yoctoNEAR" } }, { "name": "max_inflation_rate", "required": false, "schema": { "type": "array", "description": "Maximum inflation on the total supply every epoch.", "items": { "type": "integer", "format": "int32" } } }, { "name": "max_kickout_stake_perc", "required": false, "schema": { "type": "integer", "description": "Максимальный процент стейка валидаторов, которых будем исключать.", "format": "uint8" } }, { "name": "min_gas_price", "required": false, "schema": { "type": "string", "description": "Amount in yoctoNEAR" } }, { "name": "minimum_stake_divisor", "required": false, "schema": { "type": "integer", "description": "Минимальный стейк, необходимый для стейкинга, — это последняя цена места, делённая на это число.", "format": "uint64" } }, { "name": "minimum_stake_ratio", "required": false, "schema": { "type": "array", "description": "Минимальное отношение s/s_total, которое может быть у производителя блоков.\nПодробнее см. ", "items": { "type": "integer", "format": "int32" } } }, { "name": "minimum_validators_per_shard", "required": false, "schema": { "type": "integer", "description": "Минимальное количество валидаторов, которое должно быть в каждом шарде", "format": "uint64" } }, { "name": "num_block_producer_seats", "required": false, "schema": { "type": "integer", "description": "Количество мест для производителей блоков в генезисе.", "format": "uint64" } }, { "name": "num_block_producer_seats_per_shard", "required": false, "schema": { "type": "array", "description": "Задаёт количество шардов и количество мест для производителей блоков на каждый шард в генезисе.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "num_blocks_per_year", "required": false, "schema": { "type": "integer", "description": "Ожидаемое количество блоков в год", "format": "uint64" } }, { "name": "online_max_threshold", "required": false, "schema": { "type": "array", "description": "Максимальный порог онлайна, выше которого валидатор получает полную награду.", "items": { "type": "integer", "format": "int32" } } }, { "name": "online_min_threshold", "required": false, "schema": { "type": "array", "description": "Минимальный порог онлайна, ниже которого валидатор не получает награду.", "items": { "type": "integer", "format": "int32" } } }, { "name": "protocol_reward_rate", "required": false, "schema": { "type": "array", "description": "Ставка казны протокола", "items": { "type": "integer", "format": "int32" } } }, { "name": "protocol_treasury_account", "required": false, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "protocol_upgrade_stake_threshold", "required": false, "schema": { "type": "array", "description": "Threshold of stake that needs to indicate that they ready for upgrade.", "items": { "type": "integer", "format": "int32" } } }, { "name": "protocol_version", "required": false, "schema": { "type": "integer", "description": "Текущая версия протокола", "format": "uint32" } }, { "name": "runtime_config", "required": false, "schema": { "type": "object", "description": "Представление, сохраняющее JSON-формат конфигурации рантайма.", "properties": [ { "name": "account_creation_config", "required": false, "schema": { "type": "object", "description": "Структура описывает конфигурацию создания новых аккаунтов." } }, { "name": "congestion_control_config", "required": false, "schema": { "type": "object", "description": "The configuration for congestion control. More info about congestion [here](https://near.github.io/nearcore/architecture/how/receipt-congestion.html?highlight=congestion#receipt-congestion)" } }, { "name": "storage_amount_per_byte", "required": false, "schema": { "type": "string", "description": "Amount in yoctoNEAR" } }, { "name": "transaction_costs", "required": false, "schema": { "type": "object", "description": "Describes different fees for the runtime" } }, { "name": "wasm_config", "required": false, "schema": { "type": "object", "description": "Конфигурация операций wasm." } }, { "name": "witness_config", "required": false, "schema": { "type": "object", "description": "Configuration specific to ChunkStateWitness." } } ] } }, { "name": "shard_layout", "required": false, "schema": { "type": "object", "description": "One of multiple possible types" } }, { "name": "shuffle_shard_assignment_for_chunk_producers", "required": false, "schema": { "type": "boolean", "description": "Если значение `true`, производители чанков перемешиваются между шардами. Иными словами, если\nраспределение шардов было `[S_0, S_1, S_2, S_3]`, где `S_i` — множество\nпроизводителей чанков для шарда `i`, то при включённом флаге\nраспределение может стать, например, `[S_2, S_0, S_3, S_1]`." } }, { "name": "target_validator_mandates_per_shard", "required": false, "schema": { "type": "integer", "description": "Целевое количество мандатов валидаторов чанков для каждого шарда.", "format": "uint64" } }, { "name": "transaction_validity_period", "required": false, "schema": { "type": "integer", "description": "Количество блоков, в течение которых заданная транзакция действительна", "format": "uint64" } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Информация о разделённом хранилище - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_split_storage_info - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_split_storage_info.md # RPC протокола NEAR: Информация о разделённом хранилище Получить сведения о разделённом хранилище Содержит сведения о разделённом хранилище для архивных узлов. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_split_storage_info - https://docs.fastnear.com/ru/rpcs/protocol/EXPERIMENTAL_split_storage_info/other/EXPERIMENTAL_split_storage_info - https://docs.fastnear.com/ru/reference/operation/EXPERIMENTAL_split_storage_info ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/EXPERIMENTAL_split_storage_info.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_split_storage_info", "params": [] } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_split_storage_info", "params": [] }, "headers": {}, "path": {}, "query": {} } ``` ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "EXPERIMENTAL_split_storage_info" ] } }, { "name": "params", "required": true, "schema": { "type": "array", "description": "Empty array as this method takes no parameters", "example": [] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "description": "Contains the split storage information.", "properties": [ { "name": "cold_head_height", "required": false, "schema": { "type": "integer", "nullable": true, "format": "uint64" } }, { "name": "final_head_height", "required": false, "schema": { "type": "integer", "nullable": true, "format": "uint64" } }, { "name": "head_height", "required": false, "schema": { "type": "integer", "nullable": true, "format": "uint64" } }, { "name": "hot_db_kind", "required": false, "schema": { "type": "string", "nullable": true } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Цена газа - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/gas_price - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/gas_price.md # RPC протокола NEAR: Цена газа Получить текущую цену газа Возвращает сведения о текущей цене газа. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/gas_price - https://docs.fastnear.com/ru/rpcs/protocol/gas_price/other/gas_price - https://docs.fastnear.com/ru/reference/operation/gas_price ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/gas_price.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "gas_price", "params": [ null ] } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "gas_price", "params": [ null ] }, "headers": {}, "path": {}, "query": {} } ``` ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "gas_price" ] } }, { "name": "params", "required": true, "schema": { "type": "array", "example": [ null ], "items": { "nullable": true } } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "gas_price" ], "properties": [ { "name": "gas_price", "required": true, "schema": { "type": "string", "description": "Amount in yoctoNEAR" } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Цена газа по блоку - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/gas_price_by_block - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/gas_price_by_block.md # RPC протокола NEAR: Цена газа по блоку Получить цену газа по блоку Возвращает цену газа для конкретного блока. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/gas_price_by_block - https://docs.fastnear.com/ru/rpcs/protocol/gas_price_by_block/other/gas_price_by_block - https://docs.fastnear.com/ru/reference/operation/gas_price_by_block ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/gas_price_by_block.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "gas_price", "params": { "block_id": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "gas_price", "params": { "block_id": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `block_id` (body, обязательный, integer | string): Высота блока (целое число) или хеш блока (строка). ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "gas_price" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "block_id" ], "properties": [ { "name": "block_id", "required": true, "schema": { "description": "Высота блока (целое число) или хеш блока (строка)", "oneOf": [ { "type": "integer", "description": "Высота блока" }, { "type": "string", "description": "Хеш блока в кодировке Base58" } ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "gas_price" ], "properties": [ { "name": "gas_price", "required": true, "schema": { "type": "string", "description": "Amount in yoctoNEAR" } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Конфигурация генезиса - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/genesis_config - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/genesis_config.md # RPC протокола NEAR: Конфигурация генезиса Получить конфигурацию генезиса Возвращает начальное состояние и параметры генезис-блока. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/genesis_config - https://docs.fastnear.com/ru/rpcs/protocol/genesis_config/other/genesis_config - https://docs.fastnear.com/ru/reference/operation/genesis_config ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/genesis_config.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "genesis_config", "params": [] } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "genesis_config", "params": [] }, "headers": {}, "path": {}, "query": {} } ``` ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "genesis_config" ] } }, { "name": "params", "required": true, "schema": { "type": "array", "description": "Empty array as this method takes no parameters", "example": [] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "protocol_version", "genesis_time", "chain_id", "genesis_height", "num_block_producer_seats", "num_block_producer_seats_per_shard", "avg_hidden_validator_seats_per_shard", "dynamic_resharding", "epoch_length", "gas_limit", "min_gas_price", "max_gas_price", "block_producer_kickout_threshold", "chunk_producer_kickout_threshold", "gas_price_adjustment_rate", "валидаторы", "transaction_validity_period", "protocol_reward_rate", "max_inflation_rate", "total_supply", "num_blocks_per_year", "protocol_treasury_account", "fishermen_threshold" ], "properties": [ { "name": "avg_hidden_validator_seats_per_shard", "required": true, "schema": { "type": "array", "description": "Ожидаемое количество скрытых валидаторов на шард.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "block_producer_kickout_threshold", "required": true, "schema": { "type": "integer", "description": "Порог исключения производителей блоков, значение от 0 до 100.", "format": "uint8" } }, { "name": "chain_id", "required": true, "schema": { "type": "string", "description": "ID блокчейна. Должен быть уникальным для каждого блокчейна.\nЕсли у ваших testnet-блокчейнов chain ID не уникальны, вас ждут проблемы." } }, { "name": "chunk_producer_assignment_changes_limit", "required": false, "schema": { "type": "integer", "description": "Ограничивает число изменений шардов в распределении производителей чанков,\nесли алгоритм способен выбрать распределение с лучшим балансом\nчисла производителей чанков по шардам.", "format": "uint64", "default": 5 } }, { "name": "chunk_producer_kickout_threshold", "required": true, "schema": { "type": "integer", "description": "Threshold for kicking out chunk producers, between 0 and 100.", "format": "uint8" } }, { "name": "chunk_validator_only_kickout_threshold", "required": false, "schema": { "type": "integer", "description": "Порог исключения нод, которые являются только валидаторами чанков, значение от 0 до 100.", "format": "uint8", "default": 80 } }, { "name": "dynamic_resharding", "required": true, "schema": { "type": "boolean", "description": "Enable dynamic re-sharding." } }, { "name": "epoch_length", "required": true, "schema": { "type": "integer", "description": "Длина эпохи, измеряемая в высотах блоков.", "format": "uint64" } }, { "name": "fishermen_threshold", "required": true, "schema": { "type": "string", "description": "Amount in yoctoNEAR" } }, { "name": "gas_limit", "required": true, "schema": { "type": "string", "description": "Количество газа" } }, { "name": "gas_price_adjustment_rate", "required": true, "schema": { "type": "array", "description": "Коэффициент корректировки цены газа", "items": { "type": "integer", "format": "int32" } } }, { "name": "genesis_height", "required": true, "schema": { "type": "integer", "description": "Высота генезис-блока.", "format": "uint64" } }, { "name": "genesis_time", "required": true, "schema": { "type": "string", "description": "Официальное время запуска блокчейна.", "format": "date-time" } }, { "name": "max_gas_price", "required": true, "schema": { "type": "string", "description": "Amount in yoctoNEAR" } }, { "name": "max_inflation_rate", "required": true, "schema": { "type": "array", "description": "Maximum inflation on the total supply every epoch.", "items": { "type": "integer", "format": "int32" } } }, { "name": "max_kickout_stake_perc", "required": false, "schema": { "type": "integer", "description": "Максимальный процент стейка валидаторов, которых будем исключать.", "format": "uint8", "default": 100 } }, { "name": "min_gas_price", "required": true, "schema": { "type": "string", "description": "Amount in yoctoNEAR" } }, { "name": "minimum_stake_divisor", "required": false, "schema": { "type": "integer", "description": "Минимальный стейк, необходимый для стейкинга, — это последняя цена места, делённая на это число.", "format": "uint64", "default": 10 } }, { "name": "minimum_stake_ratio", "required": false, "schema": { "type": "array", "description": "Минимальное отношение s/s_total, которое может быть у производителя блоков.\nПодробнее см. ", "items": { "type": "integer", "format": "int32" } } }, { "name": "minimum_validators_per_shard", "required": false, "schema": { "type": "integer", "description": "Минимальное количество валидаторов, которое должно быть в каждом шарде", "format": "uint64", "default": 1 } }, { "name": "num_block_producer_seats", "required": true, "schema": { "type": "integer", "description": "Количество мест для производителей блоков в генезисе.", "format": "uint64" } }, { "name": "num_block_producer_seats_per_shard", "required": true, "schema": { "type": "array", "description": "Задаёт количество шардов и количество мест для производителей блоков на каждый шард в генезисе.\nПрим.: не используется с protocol_feature_chunk_only_producers — заменено на minimum_validators_per_shard.\nПрим.: раньше не использовалось, так как все производители блоков выпускали чанки для всех шардов.", "items": { "type": "integer", "format": "uint64" } } }, { "name": "num_blocks_per_year", "required": true, "schema": { "type": "integer", "description": "Ожидаемое количество блоков в год", "format": "uint64" } }, { "name": "num_chunk_only_producer_seats", "required": false, "schema": { "type": "integer", "description": "Deprecated.", "format": "uint64", "default": 300 } }, { "name": "num_chunk_producer_seats", "required": false, "schema": { "type": "integer", "description": "Number of chunk producers.\nDon't mess it up with chunk-only producers feature which is deprecated.", "format": "uint64", "default": 100 } }, { "name": "num_chunk_validator_seats", "required": false, "schema": { "type": "integer", "format": "uint64", "default": 300 } }, { "name": "online_max_threshold", "required": false, "schema": { "type": "array", "description": "Максимальный порог онлайна, выше которого валидатор получает полную награду.", "items": { "type": "integer", "format": "int32" } } }, { "name": "online_min_threshold", "required": false, "schema": { "type": "array", "description": "Минимальный порог онлайна, ниже которого валидатор не получает награду.", "items": { "type": "integer", "format": "int32" } } }, { "name": "protocol_reward_rate", "required": true, "schema": { "type": "array", "description": "Ставка казны протокола", "items": { "type": "integer", "format": "int32" } } }, { "name": "protocol_treasury_account", "required": true, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "protocol_upgrade_stake_threshold", "required": false, "schema": { "type": "array", "description": "Threshold of stake that needs to indicate that they ready for upgrade.", "items": { "type": "integer", "format": "int32" } } }, { "name": "protocol_version", "required": true, "schema": { "type": "integer", "description": "Версия протокола, для которой предназначен этот genesis.", "format": "uint32" } }, { "name": "shard_layout", "required": false, "schema": { "type": "object", "description": "One of multiple possible types", "default": { "V2": { "boundary_accounts": [], "id_to_index_map": { "0": 0 }, "index_to_id_map": { "0": 0 }, "shard_ids": [ 0 ], "version": 0 } } } }, { "name": "shuffle_shard_assignment_for_chunk_producers", "required": false, "schema": { "type": "boolean", "description": "Если значение `true`, производители чанков перемешиваются между шардами. Иными словами, если\nраспределение шардов было `[S_0, S_1, S_2, S_3]`, где `S_i` — множество\nпроизводителей чанков для шарда `i`, то при включённом флаге\nраспределение может стать, например, `[S_2, S_0, S_3, S_1]`.", "default": false } }, { "name": "target_validator_mandates_per_shard", "required": false, "schema": { "type": "integer", "description": "Целевое количество мандатов валидаторов чанков для каждого шарда.", "format": "uint64", "default": 68 } }, { "name": "total_supply", "required": true, "schema": { "type": "string", "description": "Amount in yoctoNEAR" } }, { "name": "transaction_validity_period", "required": true, "schema": { "type": "integer", "description": "Количество блоков, в течение которых заданная транзакция действительна", "format": "uint64" } }, { "name": "use_production_config", "required": false, "schema": { "type": "boolean", "description": "Используется только для тестов. Мы жёстко задаём часть конфигурации для mainnet и testnet\nв AllEpochConfig, и нам нужен способ протестировать этот путь в коде. Для этого и служит этот флаг.\nЕсли установить `true`, узел будет использовать тот же путь переопределения конфигурации, что и mainnet и testnet.", "default": false } }, { "name": "валидаторы", "required": true, "schema": { "type": "array", "description": "Список начальных валидаторов.", "items": { "type": "object", "description": "Информация об аккаунтах валидаторов" } } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Состояние узла - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/health - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/health.md # RPC протокола NEAR: Состояние узла Проверить состояние узла Проверяет состояние узла и определяет, работает ли он корректно. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/health - https://docs.fastnear.com/ru/rpcs/protocol/health/other/health - https://docs.fastnear.com/ru/reference/operation/health ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/health.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "health", "params": [] } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "health", "params": [] }, "headers": {}, "path": {}, "query": {} } ``` ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "health" ] } }, { "name": "params", "required": true, "schema": { "type": "array", "description": "Empty array as this method takes no parameters", "example": [] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "description": "Статус состояния узла" } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Последний блок - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/latest_block - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/latest_block.md # RPC протокола NEAR: Последний блок Получить последний блок Возвращает самый свежий блок в блокчейне. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/latest_block - https://docs.fastnear.com/ru/rpcs/protocol/latest_block/other/latest_block - https://docs.fastnear.com/ru/reference/operation/latest_block ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/latest_block.yaml` ## Сети - Архивный RPC mainnet: https://rpc.mainnet.fastnear.com/ - Архивный RPC testnet: https://rpc.testnet.fastnear.com/ - Архивный RPC mainnet: https://archival-rpc.mainnet.fastnear.com/ - Архивный RPC testnet: https://archival-rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Архивный RPC mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "блок", "params": { "finality": "final" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "блок", "params": { "finality": "optimistic" } }, "headers": {}, "path": {}, "query": {} } ``` ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "блок" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "финальность" ], "properties": [ { "name": "финальность", "required": true, "schema": { "type": "string", "description": "Селектор финальности для последнего видимого блока", "enum": [ "final", "near-final", "optimistic" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object" } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Доказательство для лайт-клиента - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/light_client_proof - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/light_client_proof.md # RPC протокола NEAR: Доказательство для лайт-клиента Получить доказательство для лайт-клиента Возвращает данные доказательства для проверки лайт-клиентом. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/light_client_proof - https://docs.fastnear.com/ru/rpcs/protocol/light_client_proof/other/light_client_proof - https://docs.fastnear.com/ru/reference/operation/light_client_proof ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/light_client_proof.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "light_client_proof", "params": { "type": "транзакция", "transaction_hash": "4EQZ5qoEJUbz8SRNkNwrAPtsn2VFhg9Ci1weaNNpiuR7", "sender_id": "intents.near", "light_client_head": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "light_client_proof", "params": { "type": "транзакция", "transaction_hash": "4EQZ5qoEJUbz8SRNkNwrAPtsn2VFhg9Ci1weaNNpiuR7", "sender_id": "intents.near", "light_client_head": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `light_client_head` (body, обязательный, string): Хеш в кодировке Base58. - `sender_id` (body, string): ID аккаунта NEAR. - `transaction_hash` (body, string): Хеш в кодировке Base58. - `type` (body, string) ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "light_client_proof" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "light_client_head" ], "properties": [ { "name": "light_client_head", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "sender_id", "required": false, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "transaction_hash", "required": false, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "type", "required": false, "schema": { "type": "string", "enum": [ "транзакция" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "outcome_proof", "outcome_root_proof", "block_header_lite", "block_proof" ], "properties": [ { "name": "block_header_lite", "required": true, "schema": { "type": "object", "required": [ "prev_block_hash", "inner_rest_hash", "inner_lite" ], "properties": [ { "name": "inner_lite", "required": true, "schema": { "type": "object", "description": "Часть состояния для текущей головы лёгкого клиента. Подробнее [здесь](https://nomicon.io/ChainSpec/LightClient)." } }, { "name": "inner_rest_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "prev_block_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } } ] } }, { "name": "block_proof", "required": true, "schema": { "type": "array", "items": { "type": "object" } } }, { "name": "outcome_proof", "required": true, "schema": { "type": "object", "required": [ "доказательство", "block_hash", "id", "outcome" ], "properties": [ { "name": "block_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "id", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "outcome", "required": true, "schema": { "type": "object" } }, { "name": "доказательство", "required": true, "schema": { "type": "array", "items": { "type": "object" } } } ] } }, { "name": "outcome_root_proof", "required": true, "schema": { "type": "array", "items": { "type": "object" } } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Окна обслуживания - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/maintenance_windows - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/maintenance_windows.md # RPC протокола NEAR: Окна обслуживания Получить окна обслуживания Возвращает будущие окна обслуживания в текущей эпохе для указанного аккаунта. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/maintenance_windows - https://docs.fastnear.com/ru/rpcs/protocol/maintenance_windows/other/maintenance_windows - https://docs.fastnear.com/ru/reference/operation/maintenance_windows ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/maintenance_windows.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "maintenance_windows", "params": { "account_id": "root.near" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "maintenance_windows", "params": { "account_id": "root.near" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `account_id` (body, обязательный, string): ID аккаунта NEAR. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "maintenance_windows" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "account_id" ], "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string", "description": "ID аккаунта NEAR" } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "array", "items": { "type": "object", "required": [ "start", "end" ], "properties": [ { "name": "end", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "start", "required": true, "schema": { "type": "integer", "format": "uint64" } } ] } } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Метрики узла - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/metrics - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/metrics.md # RPC протокола NEAR: Метрики узла Получить метрики узла Возвращает метрики узла в формате Prometheus с HTTP-эндпоинта `/metrics`. Требуется API-ключ. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/metrics - https://docs.fastnear.com/ru/rpcs/protocol/metrics/other/metrics - https://docs.fastnear.com/ru/reference/operation/metrics ## Операция - Транспорт: json-rpc - Метод: GET - Путь: `/metrics` - Исходная спецификация: `rpcs/protocol/metrics.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "metrics", "params": {} } ``` ## Справка по запросу ## Справка по ответу - Статус: 200 - Тип данных: text/plain - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "string", "description": "Prometheus exposition text", "example": "# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.\n# TYPE process_cpu_seconds_total counter\nprocess_cpu_seconds_total 12.34" } ``` --- ## RPC протокола NEAR: Сведения о сети - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/network_info - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/network_info.md # RPC протокола NEAR: Сведения о сети Получить сведения о сети Возвращает информацию о сети и подключённых пирах, включая активные соединения, адреса пиров и параметры сети. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/network_info - https://docs.fastnear.com/ru/rpcs/protocol/network_info/other/network_info - https://docs.fastnear.com/ru/reference/operation/network_info ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/network_info.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "network_info", "params": [] } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "network_info", "params": [] }, "headers": {}, "path": {}, "query": {} } ``` ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "network_info" ] } }, { "name": "params", "required": true, "schema": { "type": "array", "description": "Empty array as this method takes no parameters", "example": [] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "active_peers", "num_active_peers", "peer_max_count", "sent_bytes_per_sec", "received_bytes_per_sec", "known_producers" ], "properties": [ { "name": "active_peers", "required": true, "schema": { "type": "array", "items": { "type": "object" } } }, { "name": "known_producers", "required": true, "schema": { "type": "array", "description": "Аккаунты известных производителей блоков и чанков из таблицы маршрутизации.", "items": { "type": "object" } } }, { "name": "num_active_peers", "required": true, "schema": { "type": "integer", "format": "uint" } }, { "name": "peer_max_count", "required": true, "schema": { "type": "integer", "format": "uint32" } }, { "name": "received_bytes_per_sec", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "sent_bytes_per_sec", "required": true, "schema": { "type": "integer", "format": "uint64" } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Следующий блок для лайт-клиента - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/next_light_client_block - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/next_light_client_block.md # RPC протокола NEAR: Следующий блок для лайт-клиента Получить следующий блок для лайт-клиента Возвращает следующий блок для лайт-клиента. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/next_light_client_block - https://docs.fastnear.com/ru/rpcs/protocol/next_light_client_block/other/next_light_client_block - https://docs.fastnear.com/ru/reference/operation/next_light_client_block ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/next_light_client_block.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "next_light_client_block", "params": { "last_block_hash": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "next_light_client_block", "params": { "last_block_hash": "6sddgq8nkENAz4f8qR72qxRPM25QWNBVMrkYr63DgC2E" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `last_block_hash` (body, обязательный, string): Хеш в кодировке Base58. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "next_light_client_block" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "last_block_hash" ], "properties": [ { "name": "last_block_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "description": "Состояние для текущей головы лёгкого клиента. Подробнее [здесь](https://nomicon.io/ChainSpec/LightClient).", "properties": [ { "name": "approvals_after_next", "required": false, "schema": { "type": "array", "items": { "type": "string", "nullable": true, "description": "Base58-encoded cryptographic signature" } } }, { "name": "inner_lite", "required": false, "schema": { "type": "object", "description": "Часть состояния для текущей головы лёгкого клиента. Подробнее [здесь](https://nomicon.io/ChainSpec/LightClient).", "required": [ "height", "epoch_id", "next_epoch_id", "prev_state_root", "outcome_root", "timestamp", "timestamp_nanosec", "next_bp_hash", "block_merkle_root" ], "properties": [ { "name": "block_merkle_root", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "epoch_id", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "next_bp_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "next_epoch_id", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "outcome_root", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "prev_state_root", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "timestamp", "required": true, "schema": { "type": "integer", "description": "Legacy json number. Should not be used.", "format": "uint64" } }, { "name": "timestamp_nanosec", "required": true, "schema": { "type": "string" } } ] } }, { "name": "inner_rest_hash", "required": false, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "next_block_inner_hash", "required": false, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "next_bps", "required": false, "schema": { "type": "array", "items": { "type": "object", "description": "One of multiple possible types" } } }, { "name": "prev_block_hash", "required": false, "schema": { "type": "string", "description": "Base58-encoded hash" } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Статус узла - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/status - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/protocol/status.md # RPC протокола NEAR: Статус узла Получить статус узла Возвращает текущий статус узла, включая сведения о синхронизации, валидаторах и сборке. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/protocol/status - https://docs.fastnear.com/ru/rpcs/protocol/status/other/status - https://docs.fastnear.com/ru/reference/operation/status ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/protocol/status.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "статус", "params": [] } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "статус", "params": [] }, "headers": {}, "path": {}, "query": {} } ``` ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "статус" ] } }, { "name": "params", "required": true, "schema": { "type": "array", "description": "Empty array as this method takes no parameters", "example": [] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "version", "chain_id", "protocol_version", "latest_protocol_version", "валидаторы", "sync_info", "node_public_key", "uptime_sec", "genesis_hash" ], "properties": [ { "name": "chain_id", "required": true, "schema": { "type": "string", "description": "Unique chain id." } }, { "name": "detailed_debug_status", "required": false, "schema": { "type": "object", "nullable": true, "required": [ "network_info", "sync_status", "catchup_status", "current_head_status", "current_header_head_status", "block_production_delay_millis" ], "properties": [ { "name": "block_production_delay_millis", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "catchup_status", "required": true, "schema": { "type": "array", "items": { "type": "object" } } }, { "name": "current_head_status", "required": true, "schema": { "type": "object", "description": "Высота и хеш блока" } }, { "name": "current_header_head_status", "required": true, "schema": { "type": "object", "description": "Высота и хеш блока" } }, { "name": "network_info", "required": true, "schema": { "type": "object" } }, { "name": "sync_status", "required": true, "schema": { "type": "string" } } ] } }, { "name": "genesis_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "latest_protocol_version", "required": true, "schema": { "type": "integer", "description": "Последняя версия протокола, поддерживаемая этим клиентом.", "format": "uint32" } }, { "name": "node_key", "required": false, "schema": { "type": "string", "nullable": true, "description": "Публичный ключ с префиксом ed25519: или secp256k1:" } }, { "name": "node_public_key", "required": true, "schema": { "type": "string", "description": "Публичный ключ с префиксом ed25519: или secp256k1:" } }, { "name": "protocol_version", "required": true, "schema": { "type": "integer", "description": "Текущая активная версия протокола.", "format": "uint32" } }, { "name": "rpc_addr", "required": false, "schema": { "type": "string", "nullable": true, "description": "Адрес RPC-сервера. None, если у узла не включён RPC-эндпоинт." } }, { "name": "sync_info", "required": true, "schema": { "type": "object", "description": "Статус синхронизации узла.", "required": [ "latest_block_hash", "latest_block_height", "latest_state_root", "latest_block_time", "syncing" ], "properties": [ { "name": "earliest_block_hash", "required": false, "schema": { "type": "string", "nullable": true, "description": "Base58-encoded hash" } }, { "name": "earliest_block_height", "required": false, "schema": { "type": "integer", "nullable": true, "format": "uint64" } }, { "name": "earliest_block_time", "required": false, "schema": { "type": "string", "nullable": true } }, { "name": "epoch_id", "required": false, "schema": { "type": "string", "nullable": true, "description": "Base58-encoded epoch identifier hash" } }, { "name": "epoch_start_height", "required": false, "schema": { "type": "integer", "nullable": true, "format": "uint64" } }, { "name": "latest_block_hash", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "latest_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "latest_block_time", "required": true, "schema": { "type": "string" } }, { "name": "latest_state_root", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "syncing", "required": true, "schema": { "type": "boolean" } } ] } }, { "name": "uptime_sec", "required": true, "schema": { "type": "integer", "description": "Uptime of the node.", "format": "int64" } }, { "name": "validator_account_id", "required": false, "schema": { "type": "string", "nullable": true, "description": "ID аккаунта NEAR" } }, { "name": "validator_public_key", "required": false, "schema": { "type": "string", "nullable": true, "description": "Публичный ключ с префиксом ed25519: или secp256k1:" } }, { "name": "валидаторы", "required": true, "schema": { "type": "array", "description": "Валидаторы текущей эпохи.", "items": { "type": "object" } } }, { "name": "version", "required": true, "schema": { "type": "object", "description": "Data structure for semver version and github tag or commit.", "required": [ "version", "build", "commit" ], "properties": [ { "name": "build", "required": true, "schema": { "type": "string" } }, { "name": "commit", "required": true, "schema": { "type": "string" } }, { "name": "rustc_version", "required": false, "schema": { "type": "string", "default": "" } }, { "name": "version", "required": true, "schema": { "type": "string" } } ] } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Отправка транзакции (асинхронно) - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/transaction/broadcast_tx_async - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/transaction/broadcast_tx_async.md # RPC протокола NEAR: Отправка транзакции (асинхронно) Отправить транзакцию асинхронно Отправляет транзакцию в сеть без ожидания её исполнения. Требуется свежеподписанная транзакция; пример по умолчанию служит только иллюстрацией и не участвует в проверке живых ответов. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/transaction/broadcast_tx_async - https://docs.fastnear.com/ru/rpcs/transaction/broadcast_tx_async/other/broadcast_tx_async - https://docs.fastnear.com/ru/reference/operation/broadcast_tx_async ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/transaction/broadcast_tx_async.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "broadcast_tx_async", "params": { "signed_tx_base64": "DgAAAG1pa2UubmVhcgCpPJgEEFUwQjFQvL8V3CnZ0h688WG5sVsKE8JYM37ax2cUjgEAAAAAAAAADQAAAG1pa2V0ZXN0Lm5lYXIPfFBmYNAIe2/MicVhDXbvT3w06LxS2OCF0UHIYgjNDQAAAHRlc3RpbmcgbWVtbwEAAAADAQAAAAAAAAAAAAAAAAAAAA==" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "broadcast_tx_async", "params": { "signed_tx_base64": "DgAAAG1pa2UubmVhcgCpPJgEEFUwQjFQvL8V3CnZ0h688WG5sVsKE8JYM37ax2cUjgEAAAAAAAAADQAAAG1pa2V0ZXN0Lm5lYXIPfFBmYNAIe2/MicVhDXbvT3w06LxS2OCF0UHIYgjNDQAAAHRlc3RpbmcgbWVtbwEAAAADAQAAAAAAAAAAAAAAAAAAAA==" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `signed_tx_base64` (body, обязательный, string): Подписанная транзакция в кодировке Base64. Её нужно сформировать для аккаунта подписи непосредственно перед отправкой. - `wait_until` (body, string): Желаемый уровень гарантии статуса исполнения. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "broadcast_tx_async" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "signed_tx_base64" ], "properties": [ { "name": "signed_tx_base64", "required": true, "schema": { "type": "string", "description": "Подписанная транзакция в кодировке Base64. Её нужно сгенерировать для подписывающего аккаунта непосредственно перед отправкой." } }, { "name": "wait_until", "required": false, "schema": { "type": "string", "description": "Желаемый уровень гарантии статуса исполнения", "default": "EXECUTED_OPTIMISTIC", "enum": [ "NONE", "INCLUDED", "INCLUDED_FINAL", "EXECUTED", "EXECUTED_OPTIMISTIC", "FINAL" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Отправка транзакции (с подтверждением) - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/transaction/broadcast_tx_commit - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/transaction/broadcast_tx_commit.md # RPC протокола NEAR: Отправка транзакции (с подтверждением) Отправить транзакцию и дождаться подтверждения Отправляет транзакцию и ждёт, пока она будет полностью исполнена и подтверждена в блокчейне. Требуется свежеподписанная транзакция; пример по умолчанию служит только иллюстрацией и не участвует в проверке живых ответов. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/transaction/broadcast_tx_commit - https://docs.fastnear.com/ru/rpcs/transaction/broadcast_tx_commit/other/broadcast_tx_commit - https://docs.fastnear.com/ru/reference/operation/broadcast_tx_commit ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/transaction/broadcast_tx_commit.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "broadcast_tx_commit", "params": { "signed_tx_base64": "DgAAAG1pa2UubmVhcgCpPJgEEFUwQjFQvL8V3CnZ0h688WG5sVsKE8JYM37ax2cUjgEAAAAAAAAADQAAAG1pa2V0ZXN0Lm5lYXIPfFBmYNAIe2/MicVhDXbvT3w06LxS2OCF0UHIYgjNDQAAAHRlc3RpbmcgbWVtbwEAAAADAQAAAAAAAAAAAAAAAAAAAA==" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "broadcast_tx_commit", "params": { "signed_tx_base64": "DgAAAG1pa2UubmVhcgCpPJgEEFUwQjFQvL8V3CnZ0h688WG5sVsKE8JYM37ax2cUjgEAAAAAAAAADQAAAG1pa2V0ZXN0Lm5lYXIPfFBmYNAIe2/MicVhDXbvT3w06LxS2OCF0UHIYgjNDQAAAHRlc3RpbmcgbWVtbwEAAAADAQAAAAAAAAAAAAAAAAAAAA==" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `signed_tx_base64` (body, обязательный, string): Подписанная транзакция в кодировке Base64. Её нужно сформировать для аккаунта подписи непосредственно перед отправкой. - `wait_until` (body, string): Желаемый уровень гарантии статуса исполнения. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "broadcast_tx_commit" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "signed_tx_base64" ], "properties": [ { "name": "signed_tx_base64", "required": true, "schema": { "type": "string", "description": "Подписанная транзакция в кодировке Base64. Её нужно сгенерировать для подписывающего аккаунта непосредственно перед отправкой." } }, { "name": "wait_until", "required": false, "schema": { "type": "string", "description": "Желаемый уровень гарантии статуса исполнения", "default": "EXECUTED_OPTIMISTIC", "enum": [ "NONE", "INCLUDED", "INCLUDED_FINAL", "EXECUTED", "EXECUTED_OPTIMISTIC", "FINAL" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "final_execution_status" ], "properties": [ { "name": "final_execution_status", "required": true, "schema": { "type": "string", "description": "Желаемый уровень гарантии статуса исполнения", "enum": [ "NONE", "INCLUDED", "INCLUDED_FINAL", "EXECUTED", "EXECUTED_OPTIMISTIC", "FINAL" ] } }, { "name": "квитанции", "required": false, "schema": { "type": "array", "description": "Квитанции, порождённые транзакцией", "items": { "type": "object" } } }, { "name": "receipts_outcome", "required": false, "schema": { "type": "array", "description": "Результаты исполнения квитанций.", "items": { "type": "object" } } }, { "name": "статус", "required": false, "schema": { "type": "object", "description": "One of multiple possible types" } }, { "name": "транзакция", "required": false, "schema": { "type": "object", "description": "Подписанная транзакция" } }, { "name": "transaction_outcome", "required": false, "schema": { "type": "object", "description": "Результат исполнения подписанной транзакции." } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Квитанция по ID - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/transaction/EXPERIMENTAL_receipt - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/transaction/EXPERIMENTAL_receipt.md # RPC протокола NEAR: Квитанция по ID Получить квитанцию по ID Возвращает квитанцию по её ID как есть, без статуса и итогового результата исполнения. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/transaction/EXPERIMENTAL_receipt - https://docs.fastnear.com/ru/rpcs/transaction/EXPERIMENTAL_receipt/other/EXPERIMENTAL_receipt - https://docs.fastnear.com/ru/reference/operation/EXPERIMENTAL_receipt ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/transaction/EXPERIMENTAL_receipt.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_receipt", "params": { "receipt_id": "5QtWzoy2VpKZEvUbe9aUjpwnXTqHzv4gehuox8g3DA4y" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_receipt", "params": { "receipt_id": "5QtWzoy2VpKZEvUbe9aUjpwnXTqHzv4gehuox8g3DA4y" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `receipt_id` (body, обязательный, string): Хеш в кодировке Base58. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "EXPERIMENTAL_receipt" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "receipt_id" ], "properties": [ { "name": "receipt_id", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "predecessor_id", "receiver_id", "receipt_id", "квитанция" ], "properties": [ { "name": "predecessor_id", "required": true, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "priority", "required": false, "schema": { "type": "integer", "description": "Deprecated, retained for backward compatibility.", "format": "uint64", "default": 0 } }, { "name": "квитанция", "required": true, "schema": { "type": "object", "description": "One of multiple possible types" } }, { "name": "receipt_id", "required": true, "schema": { "type": "string", "description": "Base58-encoded hash" } }, { "name": "receiver_id", "required": true, "schema": { "type": "string", "description": "ID аккаунта NEAR" } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Подробный статус транзакции - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/transaction/EXPERIMENTAL_tx_status - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/transaction/EXPERIMENTAL_tx_status.md # RPC протокола NEAR: Подробный статус транзакции Получить подробный статус транзакции Запрашивает статус транзакции по хешу и возвращает итоговый результат транзакции вместе с деталями всех квитанций. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/transaction/EXPERIMENTAL_tx_status - https://docs.fastnear.com/ru/rpcs/transaction/EXPERIMENTAL_tx_status/other/EXPERIMENTAL_tx_status - https://docs.fastnear.com/ru/reference/operation/EXPERIMENTAL_tx_status ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/transaction/EXPERIMENTAL_tx_status.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_tx_status", "params": { "wait_until": "EXECUTED_OPTIMISTIC", "sender_account_id": "intents.near", "tx_hash": "4EQZ5qoEJUbz8SRNkNwrAPtsn2VFhg9Ci1weaNNpiuR7" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_tx_status", "params": { "wait_until": "EXECUTED_OPTIMISTIC", "sender_account_id": "intents.near", "tx_hash": "4EQZ5qoEJUbz8SRNkNwrAPtsn2VFhg9Ci1weaNNpiuR7" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `wait_until` (body, string): Желаемый уровень гарантии статуса исполнения. - `signed_tx_base64` (body, string): Подписанная транзакция в кодировке Base64. - `sender_account_id` (body, string): ID аккаунта NEAR. - `tx_hash` (body, string): Хеш в кодировке Base58. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "EXPERIMENTAL_tx_status" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "properties": [ { "name": "wait_until", "required": false, "schema": { "type": "string", "description": "Желаемый уровень гарантии статуса исполнения", "default": "EXECUTED_OPTIMISTIC", "enum": [ "NONE", "INCLUDED", "INCLUDED_FINAL", "EXECUTED", "EXECUTED_OPTIMISTIC", "FINAL" ] } }, { "name": "signed_tx_base64", "required": false, "schema": { "type": "string", "description": "Подписанная транзакция в кодировке Base64" } }, { "name": "sender_account_id", "required": false, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "tx_hash", "required": false, "schema": { "type": "string", "description": "Base58-encoded hash" } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "final_execution_status" ], "properties": [ { "name": "final_execution_status", "required": true, "schema": { "type": "string", "description": "Желаемый уровень гарантии статуса исполнения", "enum": [ "NONE", "INCLUDED", "INCLUDED_FINAL", "EXECUTED", "EXECUTED_OPTIMISTIC", "FINAL" ] } }, { "name": "квитанции", "required": false, "schema": { "type": "array", "description": "Квитанции, порождённые транзакцией", "items": { "type": "object" } } }, { "name": "receipts_outcome", "required": false, "schema": { "type": "array", "description": "Результаты исполнения квитанций.", "items": { "type": "object" } } }, { "name": "статус", "required": false, "schema": { "type": "object", "description": "One of multiple possible types" } }, { "name": "транзакция", "required": false, "schema": { "type": "object", "description": "Подписанная транзакция" } }, { "name": "transaction_outcome", "required": false, "schema": { "type": "object", "description": "Результат исполнения подписанной транзакции." } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Отправить транзакцию - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/transaction/send_tx - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/transaction/send_tx.md # RPC протокола NEAR: Отправить транзакцию Отправить транзакцию Отправляет транзакцию и возвращает гарантированный статус исполнения и результаты. Требуется свежеподписанная транзакция; пример по умолчанию служит только иллюстрацией и не участвует в проверке живых ответов. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/transaction/send_tx - https://docs.fastnear.com/ru/rpcs/transaction/send_tx/other/send_tx - https://docs.fastnear.com/ru/reference/operation/send_tx ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/transaction/send_tx.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "send_tx", "params": { "signed_tx_base64": "ExampleBase64EncodedTransaction", "wait_until": "EXECUTED_OPTIMISTIC" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "send_tx", "params": { "signed_tx_base64": "ExampleBase64EncodedTransaction", "wait_until": "EXECUTED_OPTIMISTIC" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `signed_tx_base64` (body, обязательный, string): Подписанная транзакция в кодировке Base64. Её нужно сформировать для аккаунта подписи непосредственно перед отправкой. - `wait_until` (body, string): Желаемый уровень гарантии статуса исполнения. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "send_tx" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "signed_tx_base64" ], "properties": [ { "name": "signed_tx_base64", "required": true, "schema": { "type": "string", "description": "Подписанная транзакция в кодировке Base64. Её нужно сгенерировать для подписывающего аккаунта непосредственно перед отправкой." } }, { "name": "wait_until", "required": false, "schema": { "type": "string", "description": "Желаемый уровень гарантии статуса исполнения", "default": "EXECUTED_OPTIMISTIC", "enum": [ "NONE", "INCLUDED", "INCLUDED_FINAL", "EXECUTED", "EXECUTED_OPTIMISTIC", "FINAL" ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "final_execution_status" ], "properties": [ { "name": "final_execution_status", "required": true, "schema": { "type": "string", "description": "Желаемый уровень гарантии статуса исполнения", "enum": [ "NONE", "INCLUDED", "INCLUDED_FINAL", "EXECUTED", "EXECUTED_OPTIMISTIC", "FINAL" ] } }, { "name": "квитанции", "required": false, "schema": { "type": "array", "description": "Квитанции, порождённые транзакцией", "items": { "type": "object" } } }, { "name": "receipts_outcome", "required": false, "schema": { "type": "array", "description": "Результаты исполнения квитанций.", "items": { "type": "object" } } }, { "name": "статус", "required": false, "schema": { "type": "object", "description": "One of multiple possible types" } }, { "name": "транзакция", "required": false, "schema": { "type": "object", "description": "Подписанная транзакция" } }, { "name": "transaction_outcome", "required": false, "schema": { "type": "object", "description": "Результат исполнения подписанной транзакции." } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Статус транзакции - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/transaction/tx_status - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/transaction/tx_status.md # RPC протокола NEAR: Статус транзакции Проверить статус транзакции Возвращает статус и детали транзакции. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/transaction/tx_status - https://docs.fastnear.com/ru/rpcs/transaction/tx_status/other/tx_status - https://docs.fastnear.com/ru/reference/operation/tx_status ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/transaction/tx_status.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "tx", "params": { "tx_hash": "4EQZ5qoEJUbz8SRNkNwrAPtsn2VFhg9Ci1weaNNpiuR7", "sender_account_id": "intents.near" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "tx", "params": { "tx_hash": "4EQZ5qoEJUbz8SRNkNwrAPtsn2VFhg9Ci1weaNNpiuR7", "sender_account_id": "intents.near" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `wait_until` (body, string): Желаемый уровень гарантии статуса исполнения. - `signed_tx_base64` (body, string): Подписанная транзакция в кодировке Base64. - `sender_account_id` (body, string): ID аккаунта NEAR. - `tx_hash` (body, string): Хеш транзакции в кодировке Base58. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "tx" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "properties": [ { "name": "wait_until", "required": false, "schema": { "type": "string", "description": "Желаемый уровень гарантии статуса исполнения", "default": "EXECUTED_OPTIMISTIC", "enum": [ "NONE", "INCLUDED", "INCLUDED_FINAL", "EXECUTED", "EXECUTED_OPTIMISTIC", "FINAL" ] } }, { "name": "signed_tx_base64", "required": false, "schema": { "type": "string", "description": "Подписанная транзакция в кодировке Base64" } }, { "name": "sender_account_id", "required": false, "schema": { "type": "string", "description": "ID аккаунта NEAR" } }, { "name": "tx_hash", "required": false, "schema": { "type": "string", "description": "Base58-encoded hash" } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "required": [ "final_execution_status" ], "properties": [ { "name": "final_execution_status", "required": true, "schema": { "type": "string", "description": "Желаемый уровень гарантии статуса исполнения", "enum": [ "NONE", "INCLUDED", "INCLUDED_FINAL", "EXECUTED", "EXECUTED_OPTIMISTIC", "FINAL" ] } }, { "name": "квитанции", "required": false, "schema": { "type": "array", "description": "Квитанции, порождённые транзакцией", "items": { "type": "object" } } }, { "name": "receipts_outcome", "required": false, "schema": { "type": "array", "description": "Результаты исполнения квитанций.", "items": { "type": "object" } } }, { "name": "статус", "required": false, "schema": { "type": "object", "description": "One of multiple possible types" } }, { "name": "транзакция", "required": false, "schema": { "type": "object", "description": "Подписанная транзакция" } }, { "name": "transaction_outcome", "required": false, "schema": { "type": "object", "description": "Результат исполнения подписанной транзакции." } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Упорядоченные валидаторы - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/validators/EXPERIMENTAL_validators_ordered - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/validators/EXPERIMENTAL_validators_ordered.md # RPC протокола NEAR: Упорядоченные валидаторы Получить упорядоченных валидаторов Возвращает валидаторов текущей эпохи в порядке продюсеров блоков с повторениями. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/validators/EXPERIMENTAL_validators_ordered - https://docs.fastnear.com/ru/rpcs/validators/EXPERIMENTAL_validators_ordered/other/EXPERIMENTAL_validators_ordered - https://docs.fastnear.com/ru/reference/operation/EXPERIMENTAL_validators_ordered ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/validators/EXPERIMENTAL_validators_ordered.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_validators_ordered", "params": { "block_id": 193909529 } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "EXPERIMENTAL_validators_ordered", "params": { "block_id": 193909529 } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `block_id` (body, integer | string): Высота блока (целое число) или хеш блока (строка). ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "EXPERIMENTAL_validators_ordered" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "properties": [ { "name": "block_id", "required": false, "schema": { "description": "Высота блока (целое число) или хеш блока (строка)", "oneOf": [ { "type": "integer", "description": "Высота блока" }, { "type": "string", "description": "Хеш блока в кодировке Base58" }, { "nullable": true } ] } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "array", "items": { "type": "object", "description": "One of multiple possible types" } } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Валидаторы по эпохе - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/validators/validators_by_epoch - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/validators/validators_by_epoch.md # RPC протокола NEAR: Валидаторы по эпохе Получить валидаторов по эпохе Возвращает список валидаторов и их параметры для выбранной эпохи. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/validators/validators_by_epoch - https://docs.fastnear.com/ru/rpcs/validators/validators_by_epoch/other/validators_by_epoch - https://docs.fastnear.com/ru/reference/operation/validators_by_epoch ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/validators/validators_by_epoch.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "валидаторы", "params": { "epoch_id": "9p3TzDhp6B5sRCaMi36TXqKWHfjEt4oyqaGoftHHaa8E" } } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "валидаторы", "params": { "epoch_id": "9p3TzDhp6B5sRCaMi36TXqKWHfjEt4oyqaGoftHHaa8E" } }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `epoch_id` (body, обязательный, string): Хеш-идентификатор эпохи в кодировке Base58. ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "валидаторы" ] } }, { "name": "params", "required": true, "schema": { "type": "object", "required": [ "epoch_id" ], "properties": [ { "name": "epoch_id", "required": true, "schema": { "type": "string", "description": "Base58-encoded epoch identifier hash" } } ] } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "description": "Информация о валидаторах текущей и следующей эпохи", "required": [ "current_validators", "next_validators", "current_fishermen", "next_fishermen", "current_proposals", "prev_epoch_kickout", "epoch_start_height", "epoch_height" ], "properties": [ { "name": "current_fishermen", "required": true, "schema": { "type": "array", "description": "Fishermen текущей эпохи", "items": { "type": "object", "description": "One of multiple possible types" } } }, { "name": "current_proposals", "required": true, "schema": { "type": "array", "description": "Заявки (proposals) в текущей эпохе", "items": { "type": "object", "description": "One of multiple possible types" } } }, { "name": "current_validators", "required": true, "schema": { "type": "array", "description": "Валидаторы текущей эпохи", "items": { "type": "object", "description": "Описывает сведения о валидаторе текущей эпохи" } } }, { "name": "epoch_height", "required": true, "schema": { "type": "integer", "description": "Epoch height", "format": "uint64" } }, { "name": "epoch_start_height", "required": true, "schema": { "type": "integer", "description": "Высота блока начала эпохи", "format": "uint64" } }, { "name": "next_fishermen", "required": true, "schema": { "type": "array", "description": "Fishermen for the next epoch", "items": { "type": "object", "description": "One of multiple possible types" } } }, { "name": "next_validators", "required": true, "schema": { "type": "array", "description": "Валидаторы следующей эпохи", "items": { "type": "object" } } }, { "name": "prev_epoch_kickout", "required": true, "schema": { "type": "array", "description": "Kickout in the previous epoch", "items": { "type": "object" } } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## RPC протокола NEAR: Текущие валидаторы - HTML-маршрут: https://docs.fastnear.com/ru/rpcs/validators/validators_current - Markdown-маршрут: https://docs.fastnear.com/ru/rpcs/validators/validators_current.md # RPC протокола NEAR: Текущие валидаторы Получить текущих валидаторов Возвращает список текущих валидаторов и их параметры. ## Ссылки на источник - https://docs.fastnear.com/ru/rpcs/validators/validators_current - https://docs.fastnear.com/ru/rpcs/validators/validators_current/other/validators_current - https://docs.fastnear.com/ru/reference/operation/validators_current ## Операция - Транспорт: json-rpc - Метод: POST - Путь: `/` - Исходная спецификация: `rpcs/validators/validators_current.yaml` ## Сети - Mainnet: https://rpc.mainnet.fastnear.com/ - Testnet: https://rpc.testnet.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Контракт OpenAPI описывает API-ключ FastNear как параметр запроса `apiKey`. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Финальность: final - Эндпоинт: https://rpc.mainnet.fastnear.com/ ### Тело запроса ```json { "jsonrpc": "2.0", "id": "fastnear", "method": "валидаторы", "params": [ null ] } ``` ## Справка по запросу ### Активный пример ```json { "body": { "jsonrpc": "2.0", "id": "fastnear", "method": "валидаторы", "params": [ null ] }, "headers": {}, "path": {}, "query": {} } ``` ### Схема запроса ```json { "type": "object", "required": [ "jsonrpc", "id", "method", "params" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "type": "string", "example": "fastnear" } }, { "name": "method", "required": true, "schema": { "type": "string", "enum": [ "валидаторы" ] } }, { "name": "params", "required": true, "schema": { "type": "array", "example": [ null ], "items": { "nullable": true } } } ] } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Успешный ответ ### Схема ответа ```json { "type": "object", "required": [ "jsonrpc", "id" ], "properties": [ { "name": "jsonrpc", "required": true, "schema": { "type": "string", "enum": [ "2.0" ] } }, { "name": "id", "required": true, "schema": { "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, { "name": "result", "required": false, "schema": { "type": "object", "description": "Информация о валидаторах текущей и следующей эпохи", "required": [ "current_validators", "next_validators", "current_fishermen", "next_fishermen", "current_proposals", "prev_epoch_kickout", "epoch_start_height", "epoch_height" ], "properties": [ { "name": "current_fishermen", "required": true, "schema": { "type": "array", "description": "Fishermen текущей эпохи", "items": { "type": "object", "description": "One of multiple possible types" } } }, { "name": "current_proposals", "required": true, "schema": { "type": "array", "description": "Заявки (proposals) в текущей эпохе", "items": { "type": "object", "description": "One of multiple possible types" } } }, { "name": "current_validators", "required": true, "schema": { "type": "array", "description": "Валидаторы текущей эпохи", "items": { "type": "object", "description": "Описывает сведения о валидаторе текущей эпохи" } } }, { "name": "epoch_height", "required": true, "schema": { "type": "integer", "description": "Epoch height", "format": "uint64" } }, { "name": "epoch_start_height", "required": true, "schema": { "type": "integer", "description": "Высота блока начала эпохи", "format": "uint64" } }, { "name": "next_fishermen", "required": true, "schema": { "type": "array", "description": "Fishermen for the next epoch", "items": { "type": "object", "description": "One of multiple possible types" } } }, { "name": "next_validators", "required": true, "schema": { "type": "array", "description": "Валидаторы следующей эпохи", "items": { "type": "object" } } }, { "name": "prev_epoch_kickout", "required": true, "schema": { "type": "array", "description": "Kickout in the previous epoch", "items": { "type": "object" } } } ] } }, { "name": "error", "required": false, "schema": { "type": "object", "properties": [ { "name": "код", "required": false, "schema": { "type": "integer" } }, { "name": "message", "required": false, "schema": { "type": "string" } }, { "name": "data", "required": false, "schema": { "type": "object" } } ] } } ], "refName": "JsonRpcResponse" } ``` --- ## FastNear API - Состояние - HTML-маршрут: https://docs.fastnear.com/ru/apis/fastnear/system/health - Markdown-маршрут: https://docs.fastnear.com/ru/apis/fastnear/system/health.md # FastNear API - Состояние Проверить состояние сервиса Возвращает `ok`, когда сервис исправен. Если FastNear деградирует, то это же поле `status` содержит диагностическую строку. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/fastnear/system/health - https://docs.fastnear.com/ru/apis/fastnear/openapi/system/get_health ## Операция - Транспорт: http - Метод: GET - Путь: `/health` - Исходная спецификация: `apis/fastnear/system/health.yaml` ## Сети - Mainnet: https://api.fastnear.com/ - Testnet: https://test.api.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://api.fastnear.com/health - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": {}, "query": {} } ``` ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Строка состояния сервиса ### Схема ответа ```json { "type": "object", "required": [ "статус" ], "additionalProperties": false, "properties": [ { "name": "статус", "required": true, "schema": { "type": "string" } } ], "refName": "HealthResponse" } ``` --- ## FastNear API - Статус - HTML-маршрут: https://docs.fastnear.com/ru/apis/fastnear/system/status - Markdown-маршрут: https://docs.fastnear.com/ru/apis/fastnear/system/status.md # FastNear API - Статус Получить статус синхронизации сервиса Возвращает последнюю индексированную высоту синхронизации, временную метку индексированного блока, измеренную задержку синхронизации и версию FastNear API. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/fastnear/system/status - https://docs.fastnear.com/ru/apis/fastnear/openapi/system/get_status ## Операция - Транспорт: http - Метод: GET - Путь: `/status` - Исходная спецификация: `apis/fastnear/system/status.yaml` ## Сети - Mainnet: https://api.fastnear.com/ - Testnet: https://test.api.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://api.fastnear.com/status - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": {}, "query": {} } ``` ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Текущий статус синхронизации FastNear API ### Схема ответа ```json { "type": "object", "required": [ "version", "sync_block_height", "sync_latency_sec", "sync_block_timestamp_nanosec", "sync_balance_block_height" ], "additionalProperties": false, "properties": [ { "name": "sync_balance_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "sync_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "sync_block_timestamp_nanosec", "required": true, "schema": { "type": "string" } }, { "name": "sync_latency_sec", "required": true, "schema": { "type": "number", "format": "double" } }, { "name": "version", "required": true, "schema": { "type": "string" } } ], "refName": "StatusResponse" } ``` --- ## FastNear API - V0 FT аккаунта - HTML-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v0/account_ft - Markdown-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v0/account_ft.md # FastNear API - V0 FT аккаунта Получить ID FT-контрактов аккаунта Возвращает только ID FT-контрактов, которые FastNear проиндексировал для запрошенного аккаунта. В отличие от маршрута v1, этот ответ не включает балансы и метаданные по высоте блока. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/fastnear/v0/account_ft - https://docs.fastnear.com/ru/apis/fastnear/openapi/fungible-tokens/account_ft_v0 ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/account/{account_id}/ft` - Исходная спецификация: `apis/fastnear/v0/account_ft.yaml` ## Сети - Mainnet: https://api.fastnear.com/ - Testnet: https://test.api.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ, который передают встроенные клиенты портала. Публичный FastNear API его не требует. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://api.fastnear.com/v0/account/root.near/ft - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "account_id": "root.near" }, "query": {} } ``` ### Входные данные - `account_id` (путь, обязательный, string): ID аккаунта NEAR для проверки. ### Параметры пути - `account_id` (путь, обязательный, string): ID аккаунта NEAR для проверки. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ, который передают встроенные клиенты портала. Публичный FastNear API его не требует. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: ID FT-контрактов для запрошенного аккаунта ### Схема ответа ```json { "type": "object", "required": [ "account_id", "contract_ids" ], "additionalProperties": false, "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string" } }, { "name": "contract_ids", "required": true, "schema": { "type": "array", "items": { "type": "string" } } } ], "refName": "V0ContractsResponse" } ``` --- ## FastNear API - V0 NFT аккаунта - HTML-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v0/account_nft - Markdown-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v0/account_nft.md # FastNear API - V0 NFT аккаунта Получить ID NFT-контрактов аккаунта Возвращает только ID NFT-контрактов, которые FastNear проиндексировал для запрошенного аккаунта. В отличие от маршрута v1, этот ответ не включает метаданные `last_update_block_height`. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/fastnear/v0/account_nft - https://docs.fastnear.com/ru/apis/fastnear/openapi/non-fungible-tokens/account_nft_v0 ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/account/{account_id}/nft` - Исходная спецификация: `apis/fastnear/v0/account_nft.yaml` ## Сети - Mainnet: https://api.fastnear.com/ - Testnet: https://test.api.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ, который передают встроенные клиенты портала. Публичный FastNear API его не требует. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://api.fastnear.com/v0/account/root.near/nft - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "account_id": "root.near" }, "query": {} } ``` ### Входные данные - `account_id` (путь, обязательный, string): ID аккаунта NEAR для проверки. ### Параметры пути - `account_id` (путь, обязательный, string): ID аккаунта NEAR для проверки. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ, который передают встроенные клиенты портала. Публичный FastNear API его не требует. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: ID NFT-контрактов для запрошенного аккаунта ### Схема ответа ```json { "type": "object", "required": [ "account_id", "contract_ids" ], "additionalProperties": false, "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string" } }, { "name": "contract_ids", "required": true, "schema": { "type": "array", "items": { "type": "string" } } } ], "refName": "V0ContractsResponse" } ``` --- ## FastNear API - V0 стейкинг аккаунта - HTML-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v0/account_staking - Markdown-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v0/account_staking.md # FastNear API - V0 стейкинг аккаунта Получить ID стейкинг-пулов аккаунта Возвращает ID стейкинг-пулов, которые FastNear проиндексировал для запрошенного аккаунта. В отличие от маршрута v1, этот ответ не включает метаданные `last_update_block_height`. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/fastnear/v0/account_staking - https://docs.fastnear.com/ru/apis/fastnear/openapi/staking/account_staking_v0 ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/account/{account_id}/staking` - Исходная спецификация: `apis/fastnear/v0/account_staking.yaml` ## Сети - Mainnet: https://api.fastnear.com/ - Testnet: https://test.api.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ, который передают встроенные клиенты портала. Публичный FastNear API его не требует. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://api.fastnear.com/v0/account/root.near/staking - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "account_id": "root.near" }, "query": {} } ``` ### Входные данные - `account_id` (путь, обязательный, string): ID аккаунта NEAR для проверки. ### Параметры пути - `account_id` (путь, обязательный, string): ID аккаунта NEAR для проверки. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ, который передают встроенные клиенты портала. Публичный FastNear API его не требует. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: ID стейкинг-пулов для запрошенного аккаунта ### Схема ответа ```json { "type": "object", "required": [ "account_id", "pools" ], "additionalProperties": false, "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string" } }, { "name": "pools", "required": true, "schema": { "type": "array", "items": { "type": "string" } } } ], "refName": "V0StakingResponse" } ``` --- ## FastNear API - V0 Поиск по публичному ключу - HTML-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v0/public_key_lookup - Markdown-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v0/public_key_lookup.md # FastNear API - V0 Поиск по публичному ключу Найти аккаунты полного доступа по публичному ключу Возвращает ID аккаунтов, которые сейчас связаны с переданным публичным ключом полного доступа. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/fastnear/v0/public_key_lookup - https://docs.fastnear.com/ru/apis/fastnear/openapi/public-key/lookup_by_public_key_v0 ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/public_key/{public_key}` - Исходная спецификация: `apis/fastnear/v0/public_key_lookup.yaml` ## Сети - Mainnet: https://api.fastnear.com/ - Testnet: https://test.api.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://api.fastnear.com/v0/public_key/ed25519%3ACCaThr3uokqnUs6Z5vVnaDcJdrfuTpYJHJWcAGubDjT - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "public_key": "ed25519:CCaThr3uokqnUs6Z5vVnaDcJdrfuTpYJHJWcAGubDjT" }, "query": {} } ``` ### Входные данные - `public_key` (путь, обязательный, string): Публичный ключ NEAR в формате `ed25519:...` или `secp256k1:...`. ### Параметры пути - `public_key` (путь, обязательный, string): Публичный ключ NEAR в формате `ed25519:...` или `secp256k1:...`. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Подходящие ID аккаунтов для переданного публичного ключа полного доступа ### Схема ответа ```json { "type": "object", "required": [ "public_key", "account_ids" ], "additionalProperties": false, "properties": [ { "name": "account_ids", "required": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "public_key", "required": true, "schema": { "type": "string" } } ], "refName": "PublicKeyLookupResponse" } ``` --- ## FastNear API - V0 Поиск по публичному ключу (все) - HTML-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v0/public_key_lookup_all - Markdown-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v0/public_key_lookup_all.md # FastNear API - V0 Поиск по публичному ключу (все) Найти все аккаунты по публичному ключу Возвращает ID аккаунтов, которые сейчас связаны с переданным публичным ключом, включая ключи ограниченного доступа. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/fastnear/v0/public_key_lookup_all - https://docs.fastnear.com/ru/apis/fastnear/openapi/public-key/lookup_by_public_key_all_v0 ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/public_key/{public_key}/all` - Исходная спецификация: `apis/fastnear/v0/public_key_lookup_all.yaml` ## Сети - Mainnet: https://api.fastnear.com/ - Testnet: https://test.api.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://api.fastnear.com/v0/public_key/ed25519%3ACCaThr3uokqnUs6Z5vVnaDcJdrfuTpYJHJWcAGubDjT/all - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "public_key": "ed25519:CCaThr3uokqnUs6Z5vVnaDcJdrfuTpYJHJWcAGubDjT" }, "query": {} } ``` ### Входные данные - `public_key` (путь, обязательный, string): Публичный ключ NEAR в формате `ed25519:...` или `secp256k1:...`. ### Параметры пути - `public_key` (путь, обязательный, string): Публичный ключ NEAR в формате `ed25519:...` или `secp256k1:...`. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Подходящие ID аккаунтов для переданного публичного ключа, включая ключи ограниченного доступа ### Схема ответа ```json { "type": "object", "required": [ "public_key", "account_ids" ], "additionalProperties": false, "properties": [ { "name": "account_ids", "required": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "public_key", "required": true, "schema": { "type": "string" } } ], "refName": "PublicKeyLookupResponse" } ``` --- ## FastNear API - V1 FT аккаунта - HTML-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v1/account_ft - Markdown-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v1/account_ft.md # FastNear API - V1 FT аккаунта Получить индексированные строки FT-токенов аккаунта Возвращает индексированные строки FT-токенов для указанного аккаунта. Балансы и `last_update_block_height` могут быть `null`, если индекс ещё не записал эти данные. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/fastnear/v1/account_ft - https://docs.fastnear.com/ru/apis/fastnear/openapi/fungible-tokens/account_ft_v1 ## Операция - Транспорт: http - Метод: GET - Путь: `/v1/account/{account_id}/ft` - Исходная спецификация: `apis/fastnear/v1/account_ft.yaml` ## Сети - Mainnet: https://api.fastnear.com/ - Testnet: https://test.api.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://api.fastnear.com/v1/account/root.near/ft - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "account_id": "root.near" }, "query": {} } ``` ### Входные данные - `account_id` (путь, обязательный, string): ID аккаунта NEAR для проверки. ### Параметры пути - `account_id` (путь, обязательный, string): ID аккаунта NEAR для проверки. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Индексированные строки FT-токенов для указанного аккаунта ### Схема ответа ```json { "type": "object", "required": [ "account_id", "токены" ], "additionalProperties": false, "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string" } }, { "name": "токены", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "contract_id", "last_update_block_height", "balance" ], "additionalProperties": false, "properties": [ { "name": "balance", "required": true, "schema": { "type": "string" } }, { "name": "contract_id", "required": true, "schema": { "type": "string" } }, { "name": "last_update_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } } ], "refName": "TokenRow" } } } ], "refName": "V1FtResponse" } ``` --- ## FastNear API - V1 Полный снимок аккаунта - HTML-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v1/account_full - Markdown-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v1/account_full.md # FastNear API - V1 Полный снимок аккаунта Получить полный индексированный снимок аккаунта Возвращает данные по стейкингу, FT-токенам, NFT и состоянию аккаунта для указанного аккаунта. Поле `state` может быть `null`, если индекс ещё не зафиксировал состояние аккаунта. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/fastnear/v1/account_full - https://docs.fastnear.com/ru/apis/fastnear/openapi/accounts/account_full_v1 ## Операция - Транспорт: http - Метод: GET - Путь: `/v1/account/{account_id}/full` - Исходная спецификация: `apis/fastnear/v1/account_full.yaml` ## Сети - Mainnet: https://api.fastnear.com/ - Testnet: https://test.api.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://api.fastnear.com/v1/account/root.near/full - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "account_id": "root.near" }, "query": {} } ``` ### Входные данные - `account_id` (путь, обязательный, string): ID аккаунта NEAR для проверки. ### Параметры пути - `account_id` (путь, обязательный, string): ID аккаунта NEAR для проверки. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Полный индексированный снимок указанного аккаунта ### Схема ответа ```json { "type": "object", "required": [ "account_id", "pools", "токены", "nfts", "состояние" ], "additionalProperties": false, "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string" } }, { "name": "nfts", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "contract_id", "last_update_block_height" ], "additionalProperties": false, "properties": [ { "name": "contract_id", "required": true, "schema": { "type": "string" } }, { "name": "last_update_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } } ], "refName": "NftRow" } } }, { "name": "pools", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "pool_id", "last_update_block_height" ], "additionalProperties": false, "properties": [ { "name": "last_update_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "pool_id", "required": true, "schema": { "type": "string" } } ], "refName": "PoolRow" } } }, { "name": "состояние", "required": true, "schema": { "type": "object" } }, { "name": "токены", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "contract_id", "last_update_block_height", "balance" ], "additionalProperties": false, "properties": [ { "name": "balance", "required": true, "schema": { "type": "string" } }, { "name": "contract_id", "required": true, "schema": { "type": "string" } }, { "name": "last_update_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } } ], "refName": "TokenRow" } } } ], "refName": "AccountFullResponse" } ``` --- ## FastNear API - V1 NFT аккаунта - HTML-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v1/account_nft - Markdown-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v1/account_nft.md # FastNear API - V1 NFT аккаунта Получить индексированные строки NFT аккаунта Возвращает индексированные строки NFT-контрактов для указанного аккаунта. `last_update_block_height` может быть `null`, если FastNear ещё не записал недавнее обновление по этой связи с контрактом. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/fastnear/v1/account_nft - https://docs.fastnear.com/ru/apis/fastnear/openapi/non-fungible-tokens/account_nft_v1 ## Операция - Транспорт: http - Метод: GET - Путь: `/v1/account/{account_id}/nft` - Исходная спецификация: `apis/fastnear/v1/account_nft.yaml` ## Сети - Mainnet: https://api.fastnear.com/ - Testnet: https://test.api.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://api.fastnear.com/v1/account/root.near/nft - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "account_id": "root.near" }, "query": {} } ``` ### Входные данные - `account_id` (путь, обязательный, string): ID аккаунта NEAR для проверки. ### Параметры пути - `account_id` (путь, обязательный, string): ID аккаунта NEAR для проверки. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Индексированные строки NFT-контрактов для указанного аккаунта ### Схема ответа ```json { "type": "object", "required": [ "account_id", "токены" ], "additionalProperties": false, "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string" } }, { "name": "токены", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "contract_id", "last_update_block_height" ], "additionalProperties": false, "properties": [ { "name": "contract_id", "required": true, "schema": { "type": "string" } }, { "name": "last_update_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } } ], "refName": "NftRow" } } } ], "refName": "V1NftResponse" } ``` --- ## FastNEAR API — V1 стейкинг аккаунта - HTML-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v1/account_staking - Markdown-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v1/account_staking.md # FastNEAR API — V1 стейкинг аккаунта Поиск индексированных стейкинг-пулов аккаунта Возвращает записи стейкинг-пулов для указанного аккаунта. Поле `last_update_block_height` может быть null, если FastNEAR не записал недавнее индексированное обновление для этой связи с пулом. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/fastnear/v1/account_staking - https://docs.fastnear.com/ru/apis/fastnear/openapi/staking/account_staking_v1 ## Операция - Транспорт: http - Метод: GET - Путь: `/v1/account/{account_id}/staking` - Исходная спецификация: `apis/fastnear/v1/account_staking.yaml` ## Сети - Mainnet: https://api.fastnear.com/ - Testnet: https://test.api.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ, передаваемый встраиваемыми клиентами портала. Публичный FastNEAR API его не требует. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://api.fastnear.com/v1/account/root.near/staking - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "account_id": "root.near" }, "query": {} } ``` ### Входные данные - `account_id` (путь, обязательный, string): ID аккаунта NEAR для проверки. ### Параметры пути - `account_id` (путь, обязательный, string): ID аккаунта NEAR для проверки. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ, передаваемый встраиваемыми клиентами портала. Публичный FastNEAR API его не требует. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Индексированные записи стейкинг-пулов для указанного аккаунта ### Схема ответа ```json { "type": "object", "required": [ "account_id", "pools" ], "additionalProperties": false, "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string" } }, { "name": "pools", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "pool_id", "last_update_block_height" ], "additionalProperties": false, "properties": [ { "name": "last_update_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "pool_id", "required": true, "schema": { "type": "string" } } ], "refName": "PoolRow" } } } ], "refName": "V1StakingResponse" } ``` --- ## FastNEAR API — V1 топ держателей FT - HTML-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v1/ft_top - Markdown-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v1/ft_top.md # FastNEAR API — V1 топ держателей FT Поиск индексированных топ-держателей FT-токена Возвращает проиндексированные аккаунты с наибольшим балансом указанного FT-токена. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/fastnear/v1/ft_top - https://docs.fastnear.com/ru/apis/fastnear/openapi/fungible-tokens/ft_top_v1 ## Операция - Транспорт: http - Метод: GET - Путь: `/v1/ft/{token_id}/top` - Исходная спецификация: `apis/fastnear/v1/ft_top.yaml` ## Сети - Mainnet: https://api.fastnear.com/ - Testnet: https://test.api.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ, передаваемый встраиваемыми клиентами портала. Публичный FastNEAR API его не требует. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://api.fastnear.com/v1/ft/wrap.near/top - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "token_id": "wrap.near" }, "query": {} } ``` ### Входные данные - `token_id` (путь, обязательный, string): ID аккаунта контракта FT-токена. ### Параметры пути - `token_id` (путь, обязательный, string): ID аккаунта контракта FT-токена. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ, передаваемый встраиваемыми клиентами портала. Публичный FastNEAR API его не требует. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Индексированные топ-держатели указанного FT-токена ### Схема ответа ```json { "type": "object", "required": [ "token_id", "аккаунтов" ], "additionalProperties": false, "properties": [ { "name": "аккаунтов", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "account_id", "balance" ], "additionalProperties": false, "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string" } }, { "name": "balance", "required": true, "schema": { "type": "string" } } ], "refName": "AccountBalanceRow" } } }, { "name": "token_id", "required": true, "schema": { "type": "string" } } ], "refName": "TokenAccountsResponse" } ``` --- ## FastNear API - V1 Поиск по публичному ключу - HTML-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v1/public_key_lookup - Markdown-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v1/public_key_lookup.md # FastNear API - V1 Поиск по публичному ключу Найти аккаунты полного доступа по публичному ключу Возвращает ID аккаунтов, которые сейчас связаны с переданным публичным ключом полного доступа. Этот маршрут v1 пока использует ту же форму ответа `{ public_key, account_ids }`, что и маршрут v0. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/fastnear/v1/public_key_lookup - https://docs.fastnear.com/ru/apis/fastnear/openapi/public-key/lookup_by_public_key_v1 ## Операция - Транспорт: http - Метод: GET - Путь: `/v1/public_key/{public_key}` - Исходная спецификация: `apis/fastnear/v1/public_key_lookup.yaml` ## Сети - Mainnet: https://api.fastnear.com/ - Testnet: https://test.api.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://api.fastnear.com/v1/public_key/ed25519%3ACCaThr3uokqnUs6Z5vVnaDcJdrfuTpYJHJWcAGubDjT - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "public_key": "ed25519:CCaThr3uokqnUs6Z5vVnaDcJdrfuTpYJHJWcAGubDjT" }, "query": {} } ``` ### Входные данные - `public_key` (путь, обязательный, string): Публичный ключ NEAR в формате `ed25519:...` или `secp256k1:...`. ### Параметры пути - `public_key` (путь, обязательный, string): Публичный ключ NEAR в формате `ed25519:...` или `secp256k1:...`. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Подходящие ID аккаунтов для переданного публичного ключа полного доступа ### Схема ответа ```json { "type": "object", "required": [ "public_key", "account_ids" ], "additionalProperties": false, "properties": [ { "name": "account_ids", "required": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "public_key", "required": true, "schema": { "type": "string" } } ], "refName": "PublicKeyLookupResponse" } ``` --- ## FastNear API - V1 Поиск по публичному ключу (все) - HTML-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v1/public_key_lookup_all - Markdown-маршрут: https://docs.fastnear.com/ru/apis/fastnear/v1/public_key_lookup_all.md # FastNear API - V1 Поиск по публичному ключу (все) Найти все индексированные аккаунты по публичному ключу Возвращает ID аккаунтов, которые сейчас связаны с переданным публичным ключом, включая ключи ограниченного доступа, если они присутствуют в индексе FastNear. Этот маршрут v1 пока использует ту же форму ответа `{ public_key, account_ids }`, что и маршрут v0. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/fastnear/v1/public_key_lookup_all - https://docs.fastnear.com/ru/apis/fastnear/openapi/public-key/lookup_by_public_key_all_v1 ## Операция - Транспорт: http - Метод: GET - Путь: `/v1/public_key/{public_key}/all` - Исходная спецификация: `apis/fastnear/v1/public_key_lookup_all.yaml` ## Сети - Mainnet: https://api.fastnear.com/ - Testnet: https://test.api.fastnear.com/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://api.fastnear.com/v1/public_key/ed25519%3ACCaThr3uokqnUs6Z5vVnaDcJdrfuTpYJHJWcAGubDjT/all - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "public_key": "ed25519:CCaThr3uokqnUs6Z5vVnaDcJdrfuTpYJHJWcAGubDjT" }, "query": {} } ``` ### Входные данные - `public_key` (путь, обязательный, string): Публичный ключ NEAR в формате `ed25519:...` или `secp256k1:...`. ### Параметры пути - `public_key` (путь, обязательный, string): Публичный ключ NEAR в формате `ed25519:...` или `secp256k1:...`. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ, который могут передавать встроенные клиенты портала. Публичный FastNear API не требует его. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Подходящие ID аккаунтов для переданного публичного ключа, включая ключи ограниченного доступа ### Схема ответа ```json { "type": "object", "required": [ "public_key", "account_ids" ], "additionalProperties": false, "properties": [ { "name": "account_ids", "required": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "public_key", "required": true, "schema": { "type": "string" } } ], "refName": "PublicKeyLookupResponse" } ``` --- ## KV FastData API - Последние ключи по вызывающему аккаунту - HTML-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/all_by_predecessor - Markdown-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/all_by_predecessor.md # KV FastData API - Последние ключи по вызывающему аккаунту Получить последние строки «ключ-значение» для одного вызывающего аккаунта по всем контрактам Возвращает последнюю строку для каждой пары `(current_account_id, key)`, записанной выбранным вызывающим аккаунтом. Значения `page_token` непрозрачны и привязаны к этому эндпоинту и выбранному вызывающему аккаунту. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/kv-fastdata/v0/all_by_predecessor - https://docs.fastnear.com/ru/apis/kv-fastdata/openapi/latest/all_by_predecessor ## Операция - Транспорт: http - Метод: POST - Путь: `/v0/all/{predecessor_id}` - Исходная спецификация: `apis/kv-fastdata/v0/all_by_predecessor.yaml` ## Сети - Mainnet: https://kv.main.fastnear.com/ - Testnet: https://kv.test.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: POST - URL: https://kv.main.fastnear.com/v0/all/james.near - Активный пример: Mainnet ### Тело запроса ```json { "include_metadata": true, "limit": 50 } ``` ## Справка по запросу ### Активный пример ```json { "body": { "include_metadata": true, "limit": 50 }, "headers": {}, "path": { "predecessor_id": "james.near" }, "query": {} } ``` ### Входные данные - `predecessor_id` (путь, обязательный, string): Вызывающий аккаунт, который записал ключи FastData. - `include_metadata` (body, boolean): Добавить в каждую запись метаданные квитанции и подписанта. - `limit` (body, integer) - `page_token` (body, string): Непрозрачный токен страницы из предыдущего ответа `/v0/all/{predecessor_id}`. ### Схема запроса ```json { "type": "object", "additionalProperties": false, "properties": [ { "name": "include_metadata", "required": false, "schema": { "type": "boolean", "description": "Включать в каждую запись метаданные квитанции и подписанта.", "default": false } }, { "name": "limit", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_token", "required": false, "schema": { "type": "string", "description": "Непрозрачный токен страницы из предыдущего ответа `/v0/all/{predecessor_id}`." } } ], "refName": "AllRequest" } ``` ### Параметры пути - `predecessor_id` (путь, обязательный, string): Вызывающий аккаунт, который записал ключи FastData. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Последние строки для выбранного вызывающего аккаунта ### Схема ответа ```json { "type": "object", "required": [ "entries" ], "additionalProperties": false, "properties": [ { "name": "entries", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "predecessor_id", "current_account_id", "block_height", "block_timestamp", "ключ", "value" ], "additionalProperties": false, "properties": [ { "name": "action_index", "required": false, "schema": { "type": "integer", "format": "uint32" } }, { "name": "block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_timestamp", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "current_account_id", "required": true, "schema": { "type": "string" } }, { "name": "ключ", "required": true, "schema": { "type": "string" } }, { "name": "predecessor_id", "required": true, "schema": { "type": "string" } }, { "name": "receipt_id", "required": false, "schema": { "type": "string" } }, { "name": "signer_id", "required": false, "schema": { "type": "string" } }, { "name": "tx_hash", "required": false, "schema": { "type": "string" } }, { "name": "value", "required": true, "schema": { "description": "Raw JSON value as stored in FastData." } } ], "refName": "KvEntry" } } }, { "name": "page_token", "required": false, "schema": { "type": "string", "description": "Opaque pagination cursor for the next page. Absent when there are no more results." } } ], "refName": "ListResponse" } ``` --- ## KV FastData API - История по точному ключу - HTML-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/get_history_key - Markdown-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/get_history_key.md # KV FastData API - История по точному ключу Получить исторические строки для одного точного ключа в рамках одного вызывающего аккаунта и контракта Возвращает исторические строки для одного точного ключа, который выбранный вызывающий аккаунт записал в выбранный контракт. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/kv-fastdata/v0/get_history_key - https://docs.fastnear.com/ru/apis/kv-fastdata/openapi/history/get_history_key ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/history/{current_account_id}/{predecessor_id}/{key}` - Исходная спецификация: `apis/kv-fastdata/v0/get_history_key.yaml` ## Сети - Mainnet: https://kv.main.fastnear.com/ - Testnet: https://kv.test.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://kv.main.fastnear.com/v0/history/social.near/james.near/%7Bkey%7D - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "current_account_id": "social.near", "predecessor_id": "james.near", "key": "graph/follow/sleet.near" }, "query": {} } ``` ### Входные данные - `current_account_id` (путь, обязательный, string): Аккаунт контракта, для которого были записаны ключи FastData. - `predecessor_id` (путь, обязательный, string): Вызывающий аккаунт, который записал ключи FastData. - `ключ` (путь, обязательный, string): Точный ключ FastData, который нужно вернуть. ### Параметры пути - `current_account_id` (путь, обязательный, string): Аккаунт контракта, для которого были записаны ключи FastData. - `predecessor_id` (путь, обязательный, string): Вызывающий аккаунт, который записал ключи FastData. - `ключ` (путь, обязательный, string): Точный ключ FastData, который нужно вернуть. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Исторические строки для выбранного вызывающего аккаунта, контракта и ключа ### Схема ответа ```json { "type": "object", "required": [ "entries" ], "additionalProperties": false, "properties": [ { "name": "entries", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "predecessor_id", "current_account_id", "block_height", "block_timestamp", "ключ", "value" ], "additionalProperties": false, "properties": [ { "name": "action_index", "required": false, "schema": { "type": "integer", "format": "uint32" } }, { "name": "block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_timestamp", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "current_account_id", "required": true, "schema": { "type": "string" } }, { "name": "ключ", "required": true, "schema": { "type": "string" } }, { "name": "predecessor_id", "required": true, "schema": { "type": "string" } }, { "name": "receipt_id", "required": false, "schema": { "type": "string" } }, { "name": "signer_id", "required": false, "schema": { "type": "string" } }, { "name": "tx_hash", "required": false, "schema": { "type": "string" } }, { "name": "value", "required": true, "schema": { "description": "Raw JSON value as stored in FastData." } } ], "refName": "KvEntry" } } }, { "name": "page_token", "required": false, "schema": { "type": "string", "description": "Opaque pagination cursor for the next page. Absent when there are no more results." } } ], "refName": "ListResponse" } ``` --- ## KV FastData API - Последнее значение по точному ключу - HTML-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/get_latest_key - Markdown-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/get_latest_key.md # KV FastData API - Последнее значение по точному ключу Получить последнюю строку для одного точного ключа в рамках одного вызывающего аккаунта и контракта Возвращает последнюю строку для одного точного ключа, который выбранный вызывающий аккаунт записал в выбранный контракт. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/kv-fastdata/v0/get_latest_key - https://docs.fastnear.com/ru/apis/kv-fastdata/openapi/latest/get_latest_key ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/latest/{current_account_id}/{predecessor_id}/{key}` - Исходная спецификация: `apis/kv-fastdata/v0/get_latest_key.yaml` ## Сети - Mainnet: https://kv.main.fastnear.com/ - Testnet: https://kv.test.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://kv.main.fastnear.com/v0/latest/social.near/james.near/%7Bkey%7D - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "current_account_id": "social.near", "predecessor_id": "james.near", "key": "graph/follow/sleet.near" }, "query": {} } ``` ### Входные данные - `current_account_id` (путь, обязательный, string): Аккаунт контракта, для которого были записаны ключи FastData. - `predecessor_id` (путь, обязательный, string): Вызывающий аккаунт, который записал ключи FastData. - `ключ` (путь, обязательный, string): Точный ключ FastData, который нужно вернуть. ### Параметры пути - `current_account_id` (путь, обязательный, string): Аккаунт контракта, для которого были записаны ключи FastData. - `predecessor_id` (путь, обязательный, string): Вызывающий аккаунт, который записал ключи FastData. - `ключ` (путь, обязательный, string): Точный ключ FastData, который нужно вернуть. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Последняя строка для выбранного вызывающего аккаунта, контракта и ключа ### Схема ответа ```json { "type": "object", "required": [ "entries" ], "additionalProperties": false, "properties": [ { "name": "entries", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "predecessor_id", "current_account_id", "block_height", "block_timestamp", "ключ", "value" ], "additionalProperties": false, "properties": [ { "name": "action_index", "required": false, "schema": { "type": "integer", "format": "uint32" } }, { "name": "block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_timestamp", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "current_account_id", "required": true, "schema": { "type": "string" } }, { "name": "ключ", "required": true, "schema": { "type": "string" } }, { "name": "predecessor_id", "required": true, "schema": { "type": "string" } }, { "name": "receipt_id", "required": false, "schema": { "type": "string" } }, { "name": "signer_id", "required": false, "schema": { "type": "string" } }, { "name": "tx_hash", "required": false, "schema": { "type": "string" } }, { "name": "value", "required": true, "schema": { "description": "Raw JSON value as stored in FastData." } } ], "refName": "KvEntry" } } }, { "name": "page_token", "required": false, "schema": { "type": "string", "description": "Opaque pagination cursor for the next page. Absent when there are no more results." } } ], "refName": "ListResponse" } ``` --- ## KV FastData API - История по аккаунту - HTML-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/history_by_account - Markdown-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/history_by_account.md # KV FastData API - История по аккаунту Получить историю записей «ключ-значение» для одного контракта по всем вызывающим аккаунтам Возвращает исторические строки для выбранного аккаунта контракта по всем вызывающим аккаунтам. Значения `page_token` непрозрачны и валидны только при повторном использовании с тем же эндпоинтом и фильтрами. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/kv-fastdata/v0/history_by_account - https://docs.fastnear.com/ru/apis/kv-fastdata/openapi/history/history_by_account ## Операция - Транспорт: http - Метод: POST - Путь: `/v0/history/{current_account_id}` - Исходная спецификация: `apis/kv-fastdata/v0/history_by_account.yaml` ## Сети - Mainnet: https://kv.main.fastnear.com/ - Testnet: https://kv.test.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: POST - URL: https://kv.main.fastnear.com/v0/history/social.near - Активный пример: Mainnet ### Тело запроса ```json { "asc": false, "include_metadata": true, "key_prefix": "graph/follow/", "limit": 50 } ``` ## Справка по запросу ### Активный пример ```json { "body": { "asc": false, "include_metadata": true, "key_prefix": "graph/follow/", "limit": 50 }, "headers": {}, "path": { "current_account_id": "social.near" }, "query": {} } ``` ### Входные данные - `current_account_id` (путь, обязательный, string): Аккаунт контракта, для которого были записаны ключи FastData. - `asc` (body, boolean): Сортировать результаты истории по возрастанию. По умолчанию сначала идут новые записи. - `include_metadata` (body, boolean): Добавить в каждую запись метаданные квитанции и подписанта. - `ключ` (body, string): Фильтр по точному ключу. Взаимно исключающий с `key_prefix`. - `key_prefix` (body, string): Фильтр по префиксу для совпадения пространств имён ключей. - `limit` (body, integer) - `page_token` (body, string): Непрозрачный токен страницы из предыдущего ответа с тем же эндпоинтом и набором фильтров. ### Схема запроса ```json { "type": "object", "additionalProperties": false, "properties": [ { "name": "asc", "required": false, "schema": { "type": "boolean", "description": "Сортировать по возрастанию для эндпоинтов истории. По умолчанию — от новых к старым.", "default": false } }, { "name": "include_metadata", "required": false, "schema": { "type": "boolean", "description": "Включать в каждую запись метаданные квитанции и подписанта.", "default": false } }, { "name": "ключ", "required": false, "schema": { "type": "string", "description": "Фильтр по точному ключу. Взаимно исключающий с `key_prefix`." } }, { "name": "key_prefix", "required": false, "schema": { "type": "string", "description": "Фильтр по префиксу для сопоставления пространств имён ключей." } }, { "name": "limit", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_token", "required": false, "schema": { "type": "string", "description": "Непрозрачный токен страницы из предыдущего ответа того же эндпоинта и набора фильтров." } } ], "refName": "QueryRequest" } ``` ### Параметры пути - `current_account_id` (путь, обязательный, string): Аккаунт контракта, для которого были записаны ключи FastData. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Исторические строки для выбранного контракта ### Схема ответа ```json { "type": "object", "required": [ "entries" ], "additionalProperties": false, "properties": [ { "name": "entries", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "predecessor_id", "current_account_id", "block_height", "block_timestamp", "ключ", "value" ], "additionalProperties": false, "properties": [ { "name": "action_index", "required": false, "schema": { "type": "integer", "format": "uint32" } }, { "name": "block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_timestamp", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "current_account_id", "required": true, "schema": { "type": "string" } }, { "name": "ключ", "required": true, "schema": { "type": "string" } }, { "name": "predecessor_id", "required": true, "schema": { "type": "string" } }, { "name": "receipt_id", "required": false, "schema": { "type": "string" } }, { "name": "signer_id", "required": false, "schema": { "type": "string" } }, { "name": "tx_hash", "required": false, "schema": { "type": "string" } }, { "name": "value", "required": true, "schema": { "description": "Raw JSON value as stored in FastData." } } ], "refName": "KvEntry" } } }, { "name": "page_token", "required": false, "schema": { "type": "string", "description": "Opaque pagination cursor for the next page. Absent when there are no more results." } } ], "refName": "ListResponse" } ``` --- ## KV FastData API - История по глобальному ключу - HTML-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/history_by_key - Markdown-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/history_by_key.md # KV FastData API - История по глобальному ключу Получить историю по точному ключу во всех индексированных контрактах Возвращает исторические строки FastData для одного точного ключа по всем индексированным контрактам и вызывающим аккаунтам. Значения `page_token` непрозрачны и валидны только при повторном использовании с тем же эндпоинтом и фильтрами. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/kv-fastdata/v0/history_by_key - https://docs.fastnear.com/ru/apis/kv-fastdata/openapi/history/history_by_key ## Операция - Транспорт: http - Метод: POST - Путь: `/v0/history` - Исходная спецификация: `apis/kv-fastdata/v0/history_by_key.yaml` ## Сети - Mainnet: https://kv.main.fastnear.com/ - Testnet: https://kv.test.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: POST - URL: https://kv.main.fastnear.com/v0/history - Активный пример: Mainnet ### Тело запроса ```json { "asc": false, "include_metadata": false, "limit": 50 } ``` ## Справка по запросу ### Активный пример ```json { "body": { "asc": false, "include_metadata": false, "key": "graph/follow/sleet.near", "limit": 50 }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `asc` (body, boolean): Сортировать результаты истории по возрастанию. По умолчанию сначала идут новые записи. - `include_metadata` (body, boolean): Добавить в каждую запись метаданные квитанции и подписанта. - `ключ` (body, обязательный, string): Точное имя ключа для сопоставления по всем аккаунтам и предшественникам. - `limit` (body, integer) - `page_token` (body, string): Непрозрачный токен страницы из предыдущего ответа с тем же эндпоинтом и набором фильтров. ### Схема запроса ```json { "type": "object", "required": [ "ключ" ], "additionalProperties": false, "properties": [ { "name": "asc", "required": false, "schema": { "type": "boolean", "description": "Сортировать результаты истории по возрастанию. По умолчанию — от новых к старым.", "default": false } }, { "name": "include_metadata", "required": false, "schema": { "type": "boolean", "description": "Включать в каждую запись метаданные квитанции и подписанта.", "default": false } }, { "name": "ключ", "required": true, "schema": { "type": "string", "description": "Точное имя ключа для сопоставления по всем аккаунтам и предшественникам." } }, { "name": "limit", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_token", "required": false, "schema": { "type": "string", "description": "Непрозрачный токен страницы из предыдущего ответа того же эндпоинта и набора фильтров." } } ], "refName": "ByKeyRequest" } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Исторические строки для выбранного ключа ### Схема ответа ```json { "type": "object", "required": [ "entries" ], "additionalProperties": false, "properties": [ { "name": "entries", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "predecessor_id", "current_account_id", "block_height", "block_timestamp", "ключ", "value" ], "additionalProperties": false, "properties": [ { "name": "action_index", "required": false, "schema": { "type": "integer", "format": "uint32" } }, { "name": "block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_timestamp", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "current_account_id", "required": true, "schema": { "type": "string" } }, { "name": "ключ", "required": true, "schema": { "type": "string" } }, { "name": "predecessor_id", "required": true, "schema": { "type": "string" } }, { "name": "receipt_id", "required": false, "schema": { "type": "string" } }, { "name": "signer_id", "required": false, "schema": { "type": "string" } }, { "name": "tx_hash", "required": false, "schema": { "type": "string" } }, { "name": "value", "required": true, "schema": { "description": "Raw JSON value as stored in FastData." } } ], "refName": "KvEntry" } } }, { "name": "page_token", "required": false, "schema": { "type": "string", "description": "Opaque pagination cursor for the next page. Absent when there are no more results." } } ], "refName": "ListResponse" } ``` --- ## KV FastData API - История по вызывающему аккаунту - HTML-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/history_by_predecessor - Markdown-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/history_by_predecessor.md # KV FastData API - История по вызывающему аккаунту Получить историю записей «ключ-значение» для одного вызывающего аккаунта и контракта Возвращает исторические строки для пары `predecessor_id` + `current_account_id`. Используйте `key` или `key_prefix`, чтобы сузить поиск. Значения `page_token` непрозрачны и валидны только при повторном использовании с тем же эндпоинтом и теми же фильтрами. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/kv-fastdata/v0/history_by_predecessor - https://docs.fastnear.com/ru/apis/kv-fastdata/openapi/history/history_by_predecessor ## Операция - Транспорт: http - Метод: POST - Путь: `/v0/history/{current_account_id}/{predecessor_id}` - Исходная спецификация: `apis/kv-fastdata/v0/history_by_predecessor.yaml` ## Сети - Mainnet: https://kv.main.fastnear.com/ - Testnet: https://kv.test.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: POST - URL: https://kv.main.fastnear.com/v0/history/social.near/james.near - Активный пример: Mainnet ### Тело запроса ```json { "asc": false, "include_metadata": true, "key_prefix": "graph/follow/", "limit": 50 } ``` ## Справка по запросу ### Активный пример ```json { "body": { "asc": false, "include_metadata": true, "key_prefix": "graph/follow/", "limit": 50 }, "headers": {}, "path": { "current_account_id": "social.near", "predecessor_id": "james.near" }, "query": {} } ``` ### Входные данные - `current_account_id` (путь, обязательный, string): Аккаунт контракта, для которого были записаны ключи FastData. - `predecessor_id` (путь, обязательный, string): Вызывающий аккаунт, который записал ключи FastData. - `asc` (body, boolean): Сортировать результаты истории по возрастанию. По умолчанию сначала идут новые записи. - `include_metadata` (body, boolean): Добавить в каждую запись метаданные квитанции и подписанта. - `ключ` (body, string): Фильтр по точному ключу. Взаимно исключающий с `key_prefix`. - `key_prefix` (body, string): Фильтр по префиксу для совпадения пространств имён ключей. - `limit` (body, integer) - `page_token` (body, string): Непрозрачный токен страницы из предыдущего ответа с тем же эндпоинтом и набором фильтров. ### Схема запроса ```json { "type": "object", "additionalProperties": false, "properties": [ { "name": "asc", "required": false, "schema": { "type": "boolean", "description": "Сортировать по возрастанию для эндпоинтов истории. По умолчанию — от новых к старым.", "default": false } }, { "name": "include_metadata", "required": false, "schema": { "type": "boolean", "description": "Включать в каждую запись метаданные квитанции и подписанта.", "default": false } }, { "name": "ключ", "required": false, "schema": { "type": "string", "description": "Фильтр по точному ключу. Взаимно исключающий с `key_prefix`." } }, { "name": "key_prefix", "required": false, "schema": { "type": "string", "description": "Фильтр по префиксу для сопоставления пространств имён ключей." } }, { "name": "limit", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_token", "required": false, "schema": { "type": "string", "description": "Непрозрачный токен страницы из предыдущего ответа того же эндпоинта и набора фильтров." } } ], "refName": "QueryRequest" } ``` ### Параметры пути - `current_account_id` (путь, обязательный, string): Аккаунт контракта, для которого были записаны ключи FastData. - `predecessor_id` (путь, обязательный, string): Вызывающий аккаунт, который записал ключи FastData. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Исторические строки для выбранного вызывающего аккаунта и аккаунта контракта ### Схема ответа ```json { "type": "object", "required": [ "entries" ], "additionalProperties": false, "properties": [ { "name": "entries", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "predecessor_id", "current_account_id", "block_height", "block_timestamp", "ключ", "value" ], "additionalProperties": false, "properties": [ { "name": "action_index", "required": false, "schema": { "type": "integer", "format": "uint32" } }, { "name": "block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_timestamp", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "current_account_id", "required": true, "schema": { "type": "string" } }, { "name": "ключ", "required": true, "schema": { "type": "string" } }, { "name": "predecessor_id", "required": true, "schema": { "type": "string" } }, { "name": "receipt_id", "required": false, "schema": { "type": "string" } }, { "name": "signer_id", "required": false, "schema": { "type": "string" } }, { "name": "tx_hash", "required": false, "schema": { "type": "string" } }, { "name": "value", "required": true, "schema": { "description": "Raw JSON value as stored in FastData." } } ], "refName": "KvEntry" } } }, { "name": "page_token", "required": false, "schema": { "type": "string", "description": "Opaque pagination cursor for the next page. Absent when there are no more results." } } ], "refName": "ListResponse" } ``` --- ## KV FastData API - Последние значения по аккаунту - HTML-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/latest_by_account - Markdown-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/latest_by_account.md # KV FastData API - Последние значения по аккаунту Получить последние строки «ключ-значение» для одного контракта по всем вызывающим аккаунтам Возвращает последнюю строку для каждой пары `(predecessor_id, key)`, записанной в контракт. Значения `page_token` непрозрачны и привязаны к этому эндпоинту, аккаунту контракта и активным фильтрам. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/kv-fastdata/v0/latest_by_account - https://docs.fastnear.com/ru/apis/kv-fastdata/openapi/latest/latest_by_account ## Операция - Транспорт: http - Метод: POST - Путь: `/v0/latest/{current_account_id}` - Исходная спецификация: `apis/kv-fastdata/v0/latest_by_account.yaml` ## Сети - Mainnet: https://kv.main.fastnear.com/ - Testnet: https://kv.test.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: POST - URL: https://kv.main.fastnear.com/v0/latest/social.near - Активный пример: Mainnet ### Тело запроса ```json { "include_metadata": true, "key_prefix": "graph/follow/", "limit": 50 } ``` ## Справка по запросу ### Активный пример ```json { "body": { "include_metadata": true, "key_prefix": "graph/follow/", "limit": 50 }, "headers": {}, "path": { "current_account_id": "social.near" }, "query": {} } ``` ### Входные данные - `current_account_id` (путь, обязательный, string): Аккаунт контракта, для которого были записаны ключи FastData. - `include_metadata` (body, boolean): Добавить в каждую запись метаданные квитанции и подписанта. - `ключ` (body, string): Фильтр по точному ключу. Взаимно исключающий с `key_prefix`. - `key_prefix` (body, string): Фильтр по префиксу для совпадения пространств имён ключей. - `limit` (body, integer) - `page_token` (body, string): Непрозрачный токен страницы из предыдущего ответа с тем же эндпоинтом и набором фильтров. ### Схема запроса ```json { "type": "object", "additionalProperties": false, "properties": [ { "name": "include_metadata", "required": false, "schema": { "type": "boolean", "description": "Включать в каждую запись метаданные квитанции и подписанта.", "default": false } }, { "name": "ключ", "required": false, "schema": { "type": "string", "description": "Фильтр по точному ключу. Взаимно исключающий с `key_prefix`." } }, { "name": "key_prefix", "required": false, "schema": { "type": "string", "description": "Фильтр по префиксу для сопоставления пространств имён ключей." } }, { "name": "limit", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_token", "required": false, "schema": { "type": "string", "description": "Непрозрачный токен страницы из предыдущего ответа того же эндпоинта и набора фильтров." } } ], "refName": "LatestRequest" } ``` ### Параметры пути - `current_account_id` (путь, обязательный, string): Аккаунт контракта, для которого были записаны ключи FastData. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Последние строки для выбранного контракта ### Схема ответа ```json { "type": "object", "required": [ "entries" ], "additionalProperties": false, "properties": [ { "name": "entries", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "predecessor_id", "current_account_id", "block_height", "block_timestamp", "ключ", "value" ], "additionalProperties": false, "properties": [ { "name": "action_index", "required": false, "schema": { "type": "integer", "format": "uint32" } }, { "name": "block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_timestamp", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "current_account_id", "required": true, "schema": { "type": "string" } }, { "name": "ключ", "required": true, "schema": { "type": "string" } }, { "name": "predecessor_id", "required": true, "schema": { "type": "string" } }, { "name": "receipt_id", "required": false, "schema": { "type": "string" } }, { "name": "signer_id", "required": false, "schema": { "type": "string" } }, { "name": "tx_hash", "required": false, "schema": { "type": "string" } }, { "name": "value", "required": true, "schema": { "description": "Raw JSON value as stored in FastData." } } ], "refName": "KvEntry" } } }, { "name": "page_token", "required": false, "schema": { "type": "string", "description": "Opaque pagination cursor for the next page. Absent when there are no more results." } } ], "refName": "ListResponse" } ``` --- ## KV FastData API - Последние значения по вызывающему аккаунту - HTML-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/latest_by_predecessor - Markdown-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/latest_by_predecessor.md # KV FastData API - Последние значения по вызывающему аккаунту Получить последние строки «ключ-значение» для одного вызывающего аккаунта и контракта Возвращает последнюю строку для каждой пары `(current_account_id, key)`, записанной выбранным вызывающим аккаунтом в выбранный контракт. Значения `page_token` непрозрачны и валидны только при повторном использовании с тем же эндпоинтом и теми же фильтрами. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/kv-fastdata/v0/latest_by_predecessor - https://docs.fastnear.com/ru/apis/kv-fastdata/openapi/latest/latest_by_predecessor ## Операция - Транспорт: http - Метод: POST - Путь: `/v0/latest/{current_account_id}/{predecessor_id}` - Исходная спецификация: `apis/kv-fastdata/v0/latest_by_predecessor.yaml` ## Сети - Mainnet: https://kv.main.fastnear.com/ - Testnet: https://kv.test.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: POST - URL: https://kv.main.fastnear.com/v0/latest/social.near/james.near - Активный пример: Mainnet ### Тело запроса ```json { "include_metadata": true, "key_prefix": "graph/follow/", "limit": 50 } ``` ## Справка по запросу ### Активный пример ```json { "body": { "include_metadata": true, "key_prefix": "graph/follow/", "limit": 50 }, "headers": {}, "path": { "current_account_id": "social.near", "predecessor_id": "james.near" }, "query": {} } ``` ### Входные данные - `current_account_id` (путь, обязательный, string): Аккаунт контракта, для которого были записаны ключи FastData. - `predecessor_id` (путь, обязательный, string): Вызывающий аккаунт, который записал ключи FastData. - `include_metadata` (body, boolean): Добавить в каждую запись метаданные квитанции и подписанта. - `ключ` (body, string): Фильтр по точному ключу. Взаимно исключающий с `key_prefix`. - `key_prefix` (body, string): Фильтр по префиксу для совпадения пространств имён ключей. - `limit` (body, integer) - `page_token` (body, string): Непрозрачный токен страницы из предыдущего ответа с тем же эндпоинтом и набором фильтров. ### Схема запроса ```json { "type": "object", "additionalProperties": false, "properties": [ { "name": "include_metadata", "required": false, "schema": { "type": "boolean", "description": "Включать в каждую запись метаданные квитанции и подписанта.", "default": false } }, { "name": "ключ", "required": false, "schema": { "type": "string", "description": "Фильтр по точному ключу. Взаимно исключающий с `key_prefix`." } }, { "name": "key_prefix", "required": false, "schema": { "type": "string", "description": "Фильтр по префиксу для сопоставления пространств имён ключей." } }, { "name": "limit", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_token", "required": false, "schema": { "type": "string", "description": "Непрозрачный токен страницы из предыдущего ответа того же эндпоинта и набора фильтров." } } ], "refName": "LatestRequest" } ``` ### Параметры пути - `current_account_id` (путь, обязательный, string): Аккаунт контракта, для которого были записаны ключи FastData. - `predecessor_id` (путь, обязательный, string): Вызывающий аккаунт, который записал ключи FastData. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Последние строки для выбранного вызывающего аккаунта и аккаунта контракта ### Схема ответа ```json { "type": "object", "required": [ "entries" ], "additionalProperties": false, "properties": [ { "name": "entries", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "predecessor_id", "current_account_id", "block_height", "block_timestamp", "ключ", "value" ], "additionalProperties": false, "properties": [ { "name": "action_index", "required": false, "schema": { "type": "integer", "format": "uint32" } }, { "name": "block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_timestamp", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "current_account_id", "required": true, "schema": { "type": "string" } }, { "name": "ключ", "required": true, "schema": { "type": "string" } }, { "name": "predecessor_id", "required": true, "schema": { "type": "string" } }, { "name": "receipt_id", "required": false, "schema": { "type": "string" } }, { "name": "signer_id", "required": false, "schema": { "type": "string" } }, { "name": "tx_hash", "required": false, "schema": { "type": "string" } }, { "name": "value", "required": true, "schema": { "description": "Raw JSON value as stored in FastData." } } ], "refName": "KvEntry" } } }, { "name": "page_token", "required": false, "schema": { "type": "string", "description": "Opaque pagination cursor for the next page. Absent when there are no more results." } } ], "refName": "ListResponse" } ``` --- ## KV FastData API - Пакетный поиск по ключам - HTML-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/multi - Markdown-маршрут: https://docs.fastnear.com/ru/apis/kv-fastdata/v0/multi.md # KV FastData API - Пакетный поиск по ключам Получить последние строки для нескольких полностью квалифицированных ключей Возвращает последнюю запись для каждого запрошенного полностью квалифицированного ключа. Отсутствующие ключи представлены как элементы `null` в массиве ответа. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/kv-fastdata/v0/multi - https://docs.fastnear.com/ru/apis/kv-fastdata/openapi/latest/multi ## Операция - Транспорт: http - Метод: POST - Путь: `/v0/multi` - Исходная спецификация: `apis/kv-fastdata/v0/multi.yaml` ## Сети - Mainnet: https://kv.main.fastnear.com/ - Testnet: https://kv.test.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: POST - URL: https://kv.main.fastnear.com/v0/multi - Активный пример: Mainnet ### Тело запроса ```json { "include_metadata": true } ``` ## Справка по запросу ### Активный пример ```json { "body": { "include_metadata": true, "keys": [ "social.near/james.near/graph/follow/sleet.near", "social.near/james.near/graph/follow/missing" ] }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `include_metadata` (body, boolean): Добавить в каждую запись метаданные квитанции и подписанта. - `ключи` (body, обязательный, array): Полноквалифицированные ключи в форме current_account_id/predecessor_id/key. ### Схема запроса ```json { "type": "object", "required": [ "ключи" ], "additionalProperties": false, "properties": [ { "name": "include_metadata", "required": false, "schema": { "type": "boolean", "description": "Включать в каждую запись метаданные квитанции и подписанта.", "default": false } }, { "name": "ключи", "required": true, "schema": { "type": "array", "description": "Полноквалифицированные ключи в форме current_account_id/predecessor_id/key.", "items": { "type": "string" } } } ], "refName": "MultiRequest" } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Последние строки для запрошенных ключей ### Схема ответа ```json { "type": "object", "required": [ "entries" ], "additionalProperties": false, "properties": [ { "name": "entries", "required": true, "schema": { "type": "array", "items": { "oneOf": [ { "type": "object", "required": [ "predecessor_id", "current_account_id", "block_height", "block_timestamp", "ключ", "value" ], "additionalProperties": false, "properties": [ { "name": "action_index", "required": false, "schema": { "type": "integer", "format": "uint32" } }, { "name": "block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_timestamp", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "current_account_id", "required": true, "schema": { "type": "string" } }, { "name": "ключ", "required": true, "schema": { "type": "string" } }, { "name": "predecessor_id", "required": true, "schema": { "type": "string" } }, { "name": "receipt_id", "required": false, "schema": { "type": "string" } }, { "name": "signer_id", "required": false, "schema": { "type": "string" } }, { "name": "tx_hash", "required": false, "schema": { "type": "string" } }, { "name": "value", "required": true, "schema": { "description": "Raw JSON value as stored in FastData." } } ] }, { "enum": [ null ] } ] } } } ], "refName": "MultiResponse" } ``` --- ## NEAR Data API - Состояние - HTML-маршрут: https://docs.fastnear.com/ru/apis/neardata/system/health - Markdown-маршрут: https://docs.fastnear.com/ru/apis/neardata/system/health.md # NEAR Data API - Состояние Проверить состояние сервиса Возвращает `ok`, когда текущий деплой исправен, и `unhealthy`, когда последний индексированный блок слишком устарел. Неверные API-ключи могут быть отклонены ещё до того, как запрос дойдёт до приложения. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/neardata/system/health - https://docs.fastnear.com/ru/apis/neardata/openapi/system/get_health ## Операция - Транспорт: http - Метод: GET - Путь: `/health` - Исходная спецификация: `apis/neardata/system/health.yaml` ## Сети - Mainnet: https://mainnet.neardata.xyz/ - Testnet: https://testnet.neardata.xyz/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://mainnet.neardata.xyz/health - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": {}, "query": {} } ``` ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Поле состояния сервиса ### Схема ответа ```json { "type": "object", "required": [ "статус" ], "additionalProperties": false, "properties": [ { "name": "статус", "required": true, "schema": { "type": "string" } } ], "refName": "HealthResponse" } ``` --- ## NEAR Data API - Финализированный блок - HTML-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/block - Markdown-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/block.md # NEAR Data API - Финализированный блок Получить финализированный блок по высоте Возвращает документ финализированного блока для запрошенной высоты или `null`, если блок отсутствует в выбранном архивном сегменте. В зависимости от топологии деплоя запрос может быть перенаправлен на другой хост, которому принадлежит канонический архивный диапазон. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/neardata/v0/block - https://docs.fastnear.com/ru/apis/neardata/openapi/blocks/get_block ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/block/{block_height}` - Исходная спецификация: `apis/neardata/v0/block.yaml` ## Сети - Mainnet: https://mainnet.neardata.xyz/ - Testnet: https://testnet.neardata.xyz/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://mainnet.neardata.xyz/v0/block/9820210 - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "block_height": "9820210" }, "query": {} } ``` ### Входные данные - `block_height` (путь, обязательный, string): Высота блока NEAR для запроса. ### Параметры пути - `block_height` (путь, обязательный, string): Высота блока NEAR для запроса. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Запрошенный документ или `null`, если выбранный срез отсутствует ### Схема ответа ```json { "type": "object", "description": "Полный документ блока, который отдаёт neardata, включая `block` и `shards`.", "additionalProperties": true } ``` --- ## NEAR Data API - Чанк блока - HTML-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/block_chunk - Markdown-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/block_chunk.md # NEAR Data API - Чанк блока Получить чанк из финализированного блока Возвращает объект чанка для запрошенного `shard_id` или `null`, если этот чанк отсутствует. В зависимости от топологии деплоя запрос может быть перенаправлен на другой хост, которому принадлежит канонический архивный диапазон. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/neardata/v0/block_chunk - https://docs.fastnear.com/ru/apis/neardata/openapi/blocks/get_chunk ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/block/{block_height}/chunk/{shard_id}` - Исходная спецификация: `apis/neardata/v0/block_chunk.yaml` ## Сети - Mainnet: https://mainnet.neardata.xyz/ - Testnet: https://testnet.neardata.xyz/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://mainnet.neardata.xyz/v0/block/9820210/chunk/0 - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "block_height": "9820210", "shard_id": "0" }, "query": {} } ``` ### Входные данные - `block_height` (путь, обязательный, string): Высота блока NEAR для запроса. - `shard_id` (путь, обязательный, string): Идентификатор шарда, чанк которого нужно вернуть. ### Параметры пути - `block_height` (путь, обязательный, string): Высота блока NEAR для запроса. - `shard_id` (путь, обязательный, string): Идентификатор шарда, чанк которого нужно вернуть. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Запрошенный документ или `null`, если выбранный срез отсутствует ### Схема ответа ```json { "type": "object", "description": "Объект чанка для указанного ID шарда.", "additionalProperties": true } ``` --- ## NEAR Data API - Заголовки блока - HTML-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/block_headers - Markdown-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/block_headers.md # NEAR Data API - Заголовки блока Получить объект блока для финализированного блока Возвращает объект `block`, извлечённый из полного ответа по блоку, а не только вложенный объект `header`. В зависимости от топологии деплоя запрос может быть перенаправлен на другой хост, которому принадлежит канонический архивный диапазон. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/neardata/v0/block_headers - https://docs.fastnear.com/ru/apis/neardata/openapi/blocks/get_block_headers ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/block/{block_height}/headers` - Исходная спецификация: `apis/neardata/v0/block_headers.yaml` ## Сети - Mainnet: https://mainnet.neardata.xyz/ - Testnet: https://testnet.neardata.xyz/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://mainnet.neardata.xyz/v0/block/9820210/headers - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "block_height": "9820210" }, "query": {} } ``` ### Входные данные - `block_height` (путь, обязательный, string): Высота блока NEAR для запроса. ### Параметры пути - `block_height` (путь, обязательный, string): Высота блока NEAR для запроса. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Запрошенный документ или `null`, если выбранный срез отсутствует ### Схема ответа ```json { "type": "object", "description": "Объект уровня блока, возвращаемый `/headers`; соответствует полю `block` полного ответа.", "additionalProperties": true } ``` --- ## NEAR Data API - Оптимистичный блок - HTML-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/block_optimistic - Markdown-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/block_optimistic.md # NEAR Data API - Оптимистичный блок Получить оптимистичный блок по высоте Возвращает оптимистичный документ блока, если текущий деплой может отдать его напрямую. Старые высоты или чисто архивные диапазоны могут вместо этого перенаправить вас на канонический финализированный или архивный URL. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/neardata/v0/block_optimistic - https://docs.fastnear.com/ru/apis/neardata/openapi/blocks/get_block_optimistic ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/block_opt/{block_height}` - Исходная спецификация: `apis/neardata/v0/block_optimistic.yaml` ## Сети - Mainnet: https://mainnet.neardata.xyz/ - Testnet: https://testnet.neardata.xyz/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://mainnet.neardata.xyz/v0/block_opt/9820210 - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "block_height": "9820210" }, "query": {} } ``` ### Входные данные - `block_height` (путь, обязательный, string): Высота блока NEAR для запроса. ### Параметры пути - `block_height` (путь, обязательный, string): Высота блока NEAR для запроса. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Запрошенный документ или `null`, если выбранный срез отсутствует ### Схема ответа ```json { "type": "object", "description": "Полный документ блока, который отдаёт neardata, включая `block` и `shards`.", "additionalProperties": true } ``` --- ## NEAR Data API - Шард блока - HTML-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/block_shard - Markdown-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/block_shard.md # NEAR Data API - Шард блока Получить шард из финализированного блока Возвращает объект шарда для запрошенного `shard_id` или `null`, если этот шард отсутствует. В зависимости от топологии деплоя запрос может быть перенаправлен на другой хост, которому принадлежит канонический архивный диапазон. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/neardata/v0/block_shard - https://docs.fastnear.com/ru/apis/neardata/openapi/blocks/get_shard ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/block/{block_height}/shard/{shard_id}` - Исходная спецификация: `apis/neardata/v0/block_shard.yaml` ## Сети - Mainnet: https://mainnet.neardata.xyz/ - Testnet: https://testnet.neardata.xyz/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://mainnet.neardata.xyz/v0/block/9820210/shard/0 - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": { "block_height": "9820210", "shard_id": "0" }, "query": {} } ``` ### Входные данные - `block_height` (путь, обязательный, string): Высота блока NEAR для запроса. - `shard_id` (путь, обязательный, string): Идентификатор шарда, который нужно вернуть. ### Параметры пути - `block_height` (путь, обязательный, string): Высота блока NEAR для запроса. - `shard_id` (путь, обязательный, string): Идентификатор шарда, который нужно вернуть. ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Запрошенный документ или `null`, если выбранный срез отсутствует ### Схема ответа ```json { "type": "object", "description": "Объект шарда для указанного ID шарда.", "additionalProperties": true } ``` --- ## NEAR Data API - Первый блок - HTML-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/first_block - Markdown-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/first_block.md # NEAR Data API - Первый блок Перенаправление на первый блок после генезиса Возвращает перенаправление на канонический URL первого блока для выбранного деплоя. Клиенты, которые автоматически следуют перенаправлению, вместо этого получат полный документ блока. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/neardata/v0/first_block - https://docs.fastnear.com/ru/apis/neardata/openapi/blocks/get_first_block ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/first_block` - Исходная спецификация: `apis/neardata/v0/first_block.yaml` ## Сети - Mainnet: https://mainnet.neardata.xyz/ - Testnet: https://testnet.neardata.xyz/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://mainnet.neardata.xyz/v0/first_block - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": {}, "query": {} } ``` ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Полный документ блока после автоматического прохождения перенаправления ### Схема ответа ```json { "type": "object", "description": "Полный документ блока, который отдаёт neardata, включая `block` и `shards`.", "additionalProperties": true } ``` --- ## NEAR Data API - Последний финализированный блок - HTML-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/last_block_final - Markdown-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/last_block_final.md # NEAR Data API - Последний финализированный блок Перенаправление на последний финализированный блок Возвращает перенаправление на канонический URL последнего финализированного блока для текущего деплоя. Клиенты, которые автоматически проходят перенаправление, вместо этого получат полный документ блока. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/neardata/v0/last_block_final - https://docs.fastnear.com/ru/apis/neardata/openapi/blocks/get_last_block_final ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/last_block/final` - Исходная спецификация: `apis/neardata/v0/last_block_final.yaml` ## Сети - Mainnet: https://mainnet.neardata.xyz/ - Testnet: https://testnet.neardata.xyz/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://mainnet.neardata.xyz/v0/last_block/final - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": {}, "query": {} } ``` ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Полный документ блока после автоматического прохождения перенаправления ### Схема ответа ```json { "type": "object", "description": "Полный документ блока, который отдаёт neardata, включая `block` и `shards`.", "additionalProperties": true } ``` --- ## NEAR Data API - Последний оптимистичный блок - HTML-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/last_block_optimistic - Markdown-маршрут: https://docs.fastnear.com/ru/apis/neardata/v0/last_block_optimistic.md # NEAR Data API - Последний оптимистичный блок Перенаправление на последний оптимистичный блок Возвращает перенаправление на канонический URL последнего оптимистичного блока для текущего деплоя. Клиенты, которые автоматически следуют перенаправлению, вместо этого получат итоговый документ блока. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/neardata/v0/last_block_optimistic - https://docs.fastnear.com/ru/apis/neardata/openapi/blocks/get_last_block_optimistic ## Операция - Транспорт: http - Метод: GET - Путь: `/v0/last_block/optimistic` - Исходная спецификация: `apis/neardata/v0/last_block_optimistic.yaml` ## Сети - Mainnet: https://mainnet.neardata.xyz/ - Testnet: https://testnet.neardata.xyz/ ## Авторизация - API-ключ через query `apiKey`: Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. - Этот экспорт намеренно не включает локально сохранённые учётные данные ## Текущий запрос - Сеть: Mainnet - Метод: GET - URL: https://mainnet.neardata.xyz/v0/last_block/optimistic - Активный пример: Mainnet ## Справка по запросу ### Активный пример ```json { "body": null, "headers": {}, "path": {}, "query": {} } ``` ### Параметры запроса - `apiKey` (query, string): Необязательный API-ключ подписки FastNear. Неверные значения могут вернуть `401` до обработки перенаправления. ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Полный документ блока после автоматического прохождения перенаправления ### Схема ответа ```json { "type": "object", "description": "Полный документ блока, который отдаёт neardata, включая `block` и `shards`.", "additionalProperties": true } ``` --- ## Транзакции API - История аккаунта - HTML-маршрут: https://docs.fastnear.com/ru/apis/transactions/v0/account - Markdown-маршрут: https://docs.fastnear.com/ru/apis/transactions/v0/account.md # Транзакции API - История аккаунта Получить историю транзакций аккаунта Возвращает строки транзакций аккаунта, необязательное общее количество на первой странице и необязательный `resume_token`. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/transactions/v0/account - https://docs.fastnear.com/ru/apis/transactions/openapi/account/get_account ## Операция - Транспорт: http - Метод: POST - Путь: `/v0/account` - Исходная спецификация: `apis/transactions/v0/account.yaml` ## Сети - Mainnet: https://tx.main.fastnear.com/ - Testnet: https://tx.test.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: POST - URL: https://tx.main.fastnear.com/v0/account - Активный пример: Mainnet ### Тело запроса ```json { "account_id": "intents.near", "desc": true, "is_real_signer": true, "is_success": true, "limit": 50 } ``` ## Справка по запросу ### Активный пример ```json { "body": { "account_id": "intents.near", "desc": true, "is_real_signer": true, "is_success": true, "limit": 50 }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `account_id` (body, обязательный, string) - `desc` (body, boolean) - `from_tx_block_height` (body, integer) - `is_action_arg` (body, boolean) - `is_any_signer` (body, boolean) - `is_delegated_signer` (body, boolean) - `is_event_log` (body, boolean) - `is_explicit_refund_to` (body, boolean) - `is_function_call` (body, boolean) - `is_predecessor` (body, boolean) - `is_real_receiver` (body, boolean) - `is_real_signer` (body, boolean) - `is_receiver` (body, boolean) - `is_signer` (body, boolean) - `is_success` (body, boolean) - `limit` (body, integer) - `resume_token` (body, string) - `to_tx_block_height` (body, integer) ### Схема запроса ```json { "type": "object", "required": [ "account_id" ], "additionalProperties": false, "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string" } }, { "name": "desc", "required": false, "schema": { "type": "boolean" } }, { "name": "from_tx_block_height", "required": false, "schema": { "type": "integer", "format": "uint64" } }, { "name": "is_action_arg", "required": false, "schema": { "type": "boolean" } }, { "name": "is_any_signer", "required": false, "schema": { "type": "boolean" } }, { "name": "is_delegated_signer", "required": false, "schema": { "type": "boolean" } }, { "name": "is_event_log", "required": false, "schema": { "type": "boolean" } }, { "name": "is_explicit_refund_to", "required": false, "schema": { "type": "boolean" } }, { "name": "is_function_call", "required": false, "schema": { "type": "boolean" } }, { "name": "is_predecessor", "required": false, "schema": { "type": "boolean" } }, { "name": "is_real_receiver", "required": false, "schema": { "type": "boolean" } }, { "name": "is_real_signer", "required": false, "schema": { "type": "boolean" } }, { "name": "is_receiver", "required": false, "schema": { "type": "boolean" } }, { "name": "is_signer", "required": false, "schema": { "type": "boolean" } }, { "name": "is_success", "required": false, "schema": { "type": "boolean" } }, { "name": "limit", "required": false, "schema": { "type": "integer", "format": "uint" } }, { "name": "resume_token", "required": false, "schema": { "type": "string", "default": null } }, { "name": "to_tx_block_height", "required": false, "schema": { "type": "integer", "format": "uint64" } } ], "refName": "AccountInput" } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Набор результатов по истории аккаунта ### Схема ответа ```json { "type": "object", "required": [ "account_txs", "resume_token", "txs_count" ], "additionalProperties": false, "properties": [ { "name": "account_txs", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "account_id", "transaction_hash", "tx_block_height", "tx_block_timestamp", "tx_index", "is_signer", "is_delegated_signer", "is_real_signer", "is_any_signer", "is_predecessor", "is_explicit_refund_to", "is_receiver", "is_real_receiver", "is_function_call", "is_action_arg", "is_event_log", "is_success" ], "additionalProperties": false, "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string" } }, { "name": "is_action_arg", "required": true, "schema": { "type": "boolean" } }, { "name": "is_any_signer", "required": true, "schema": { "type": "boolean" } }, { "name": "is_delegated_signer", "required": true, "schema": { "type": "boolean" } }, { "name": "is_event_log", "required": true, "schema": { "type": "boolean" } }, { "name": "is_explicit_refund_to", "required": true, "schema": { "type": "boolean" } }, { "name": "is_function_call", "required": true, "schema": { "type": "boolean" } }, { "name": "is_predecessor", "required": true, "schema": { "type": "boolean" } }, { "name": "is_real_receiver", "required": true, "schema": { "type": "boolean" } }, { "name": "is_real_signer", "required": true, "schema": { "type": "boolean" } }, { "name": "is_receiver", "required": true, "schema": { "type": "boolean" } }, { "name": "is_signer", "required": true, "schema": { "type": "boolean" } }, { "name": "is_success", "required": true, "schema": { "type": "boolean" } }, { "name": "transaction_hash", "required": true, "schema": { "type": "string" } }, { "name": "tx_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "tx_block_timestamp", "required": true, "schema": { "type": "string" } }, { "name": "tx_index", "required": true, "schema": { "type": "integer", "format": "uint32" } } ], "refName": "AccountTxRow" } } }, { "name": "resume_token", "required": true, "schema": { "type": "string" } }, { "name": "txs_count", "required": true, "schema": { "type": "integer", "format": "uint64" } } ], "refName": "AccountResponse" } ``` --- ## Транзакции API - Поиск блока - HTML-маршрут: https://docs.fastnear.com/ru/apis/transactions/v0/block - Markdown-маршрут: https://docs.fastnear.com/ru/apis/transactions/v0/block.md # Транзакции API - Поиск блока Получить блок по высоте или хешу Возвращает строку блока и, при необходимости, связанные транзакции и квитанции. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/transactions/v0/block - https://docs.fastnear.com/ru/apis/transactions/openapi/blocks/get_block ## Операция - Транспорт: http - Метод: POST - Путь: `/v0/block` - Исходная спецификация: `apis/transactions/v0/block.yaml` ## Сети - Mainnet: https://tx.main.fastnear.com/ - Testnet: https://tx.test.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: POST - URL: https://tx.main.fastnear.com/v0/block - Активный пример: Mainnet ### Тело запроса ```json { "block_id": 193916411, "with_receipts": true, "with_transactions": true } ``` ## Справка по запросу ### Активный пример ```json { "body": { "block_id": 193916411, "with_receipts": true, "with_transactions": true }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `block_id` (body, обязательный, integer | string) - `with_receipts` (body, boolean) - `with_transactions` (body, boolean) ### Схема запроса ```json { "type": "object", "required": [ "block_id" ], "additionalProperties": false, "properties": [ { "name": "block_id", "required": true, "schema": { "oneOf": [ { "type": "integer" }, { "type": "string" } ] } }, { "name": "with_receipts", "required": false, "schema": { "type": "boolean" } }, { "name": "with_transactions", "required": false, "schema": { "type": "boolean" } } ], "refName": "BlockInput" } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Результат поиска блока ### Схема ответа ```json { "type": "object", "required": [ "блок", "block_txs", "block_receipts" ], "additionalProperties": false, "properties": [ { "name": "блок", "required": true, "schema": { "type": "object", "required": [ "block_height", "block_hash", "prev_block_hash", "block_timestamp", "epoch_id", "next_epoch_id", "chunks_included", "author_id", "protocol_version", "gas_price", "total_supply", "num_transactions", "num_receipts", "gas_burnt", "tokens_burnt" ], "additionalProperties": false, "properties": [ { "name": "author_id", "required": true, "schema": { "type": "string" } }, { "name": "block_hash", "required": true, "schema": { "type": "string" } }, { "name": "block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_ordinal", "required": false, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_timestamp", "required": true, "schema": { "type": "string" } }, { "name": "chunks_included", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "epoch_id", "required": true, "schema": { "type": "string" } }, { "name": "gas_burnt", "required": true, "schema": { "type": "string" } }, { "name": "gas_price", "required": true, "schema": { "type": "string" } }, { "name": "next_epoch_id", "required": true, "schema": { "type": "string" } }, { "name": "num_receipts", "required": true, "schema": { "type": "integer", "format": "uint32" } }, { "name": "num_transactions", "required": true, "schema": { "type": "integer", "format": "uint32" } }, { "name": "prev_block_hash", "required": true, "schema": { "type": "string" } }, { "name": "prev_block_height", "required": false, "schema": { "type": "integer", "format": "uint64" } }, { "name": "protocol_version", "required": true, "schema": { "type": "integer", "format": "uint32" } }, { "name": "tokens_burnt", "required": true, "schema": { "type": "string" } }, { "name": "total_supply", "required": true, "schema": { "type": "string" } } ] } }, { "name": "block_receipts", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "receipt_id", "block_height", "block_timestamp", "receipt_index", "appear_block_height", "appear_receipt_index", "transaction_hash", "tx_block_height", "tx_block_timestamp", "tx_index", "predecessor_id", "receiver_id", "receipt_type", "priority", "shard_id", "is_success" ], "additionalProperties": false, "properties": [ { "name": "appear_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "appear_receipt_index", "required": true, "schema": { "type": "integer", "format": "uint32" } }, { "name": "block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_timestamp", "required": true, "schema": { "type": "string" } }, { "name": "is_success", "required": true, "schema": { "type": "boolean" } }, { "name": "predecessor_id", "required": true, "schema": { "type": "string" } }, { "name": "priority", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "receipt_id", "required": true, "schema": { "type": "string" } }, { "name": "receipt_index", "required": true, "schema": { "type": "integer", "format": "uint32" } }, { "name": "receipt_type", "required": true, "schema": { "type": "string" } }, { "name": "receiver_id", "required": true, "schema": { "type": "string" } }, { "name": "shard_id", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "transaction_hash", "required": true, "schema": { "type": "string" } }, { "name": "tx_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "tx_block_timestamp", "required": true, "schema": { "type": "string" } }, { "name": "tx_index", "required": true, "schema": { "type": "integer", "format": "uint32" } } ], "refName": "ReceiptTxRow" } } }, { "name": "block_txs", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "transaction_hash", "signer_id", "tx_block_height", "tx_index", "tx_block_hash", "tx_block_timestamp", "last_block_height", "is_completed", "shard_id", "receiver_id", "signer_public_key", "priority_fee", "nonce", "is_relayed", "real_signer_id", "real_receiver_id", "is_success", "gas_burnt", "tokens_burnt" ], "additionalProperties": false, "properties": [ { "name": "gas_burnt", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "is_completed", "required": true, "schema": { "type": "boolean" } }, { "name": "is_relayed", "required": true, "schema": { "type": "boolean" } }, { "name": "is_success", "required": true, "schema": { "type": "boolean" } }, { "name": "last_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "nonce", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "priority_fee", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "real_receiver_id", "required": true, "schema": { "type": "string" } }, { "name": "real_signer_id", "required": true, "schema": { "type": "string" } }, { "name": "receiver_id", "required": true, "schema": { "type": "string" } }, { "name": "shard_id", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "signer_id", "required": true, "schema": { "type": "string" } }, { "name": "signer_public_key", "required": true, "schema": { "type": "string" } }, { "name": "tokens_burnt", "required": true, "schema": { "type": "string" } }, { "name": "transaction_hash", "required": true, "schema": { "type": "string" } }, { "name": "tx_block_hash", "required": true, "schema": { "type": "string" } }, { "name": "tx_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "tx_block_timestamp", "required": true, "schema": { "type": "string" } }, { "name": "tx_index", "required": true, "schema": { "type": "integer", "format": "uint32" } } ], "refName": "BlockTxRow" } } } ], "refName": "BlockResponse" } ``` --- ## Транзакции API - Диапазон блоков - HTML-маршрут: https://docs.fastnear.com/ru/apis/transactions/v0/blocks - Markdown-маршрут: https://docs.fastnear.com/ru/apis/transactions/v0/blocks.md # Транзакции API - Диапазон блоков Получить список блоков Возвращает до 100 строк блоков для запрошенного диапазона высот. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/transactions/v0/blocks - https://docs.fastnear.com/ru/apis/transactions/openapi/blocks/get_blocks ## Операция - Транспорт: http - Метод: POST - Путь: `/v0/blocks` - Исходная спецификация: `apis/transactions/v0/blocks.yaml` ## Сети - Mainnet: https://tx.main.fastnear.com/ - Testnet: https://tx.test.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: POST - URL: https://tx.main.fastnear.com/v0/blocks - Активный пример: Mainnet ### Тело запроса ```json { "desc": false, "from_block_height": 193916402, "limit": 10, "to_block_height": 193916411 } ``` ## Справка по запросу ### Активный пример ```json { "body": { "desc": false, "from_block_height": 193916402, "limit": 10, "to_block_height": 193916411 }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `desc` (body, boolean) - `from_block_height` (body, integer) - `limit` (body, integer) - `to_block_height` (body, integer) ### Схема запроса ```json { "type": "object", "additionalProperties": false, "properties": [ { "name": "desc", "required": false, "schema": { "type": "boolean" } }, { "name": "from_block_height", "required": false, "schema": { "type": "integer", "format": "uint64" } }, { "name": "limit", "required": false, "schema": { "type": "integer", "format": "uint" } }, { "name": "to_block_height", "required": false, "schema": { "type": "integer", "format": "uint64" } } ], "refName": "BlocksInput" } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Строки блоков ### Схема ответа ```json { "type": "object", "required": [ "блоки" ], "additionalProperties": false, "properties": [ { "name": "блоки", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "block_height", "block_hash", "prev_block_hash", "block_timestamp", "epoch_id", "next_epoch_id", "chunks_included", "author_id", "protocol_version", "gas_price", "total_supply", "num_transactions", "num_receipts", "gas_burnt", "tokens_burnt" ], "additionalProperties": false, "properties": [ { "name": "author_id", "required": true, "schema": { "type": "string" } }, { "name": "block_hash", "required": true, "schema": { "type": "string" } }, { "name": "block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_ordinal", "required": false, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_timestamp", "required": true, "schema": { "type": "string" } }, { "name": "chunks_included", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "epoch_id", "required": true, "schema": { "type": "string" } }, { "name": "gas_burnt", "required": true, "schema": { "type": "string" } }, { "name": "gas_price", "required": true, "schema": { "type": "string" } }, { "name": "next_epoch_id", "required": true, "schema": { "type": "string" } }, { "name": "num_receipts", "required": true, "schema": { "type": "integer", "format": "uint32" } }, { "name": "num_transactions", "required": true, "schema": { "type": "integer", "format": "uint32" } }, { "name": "prev_block_hash", "required": true, "schema": { "type": "string" } }, { "name": "prev_block_height", "required": false, "schema": { "type": "integer", "format": "uint64" } }, { "name": "protocol_version", "required": true, "schema": { "type": "integer", "format": "uint32" } }, { "name": "tokens_burnt", "required": true, "schema": { "type": "string" } }, { "name": "total_supply", "required": true, "schema": { "type": "string" } } ], "refName": "BlockRow" } } } ], "refName": "BlocksResponse" } ``` --- ## Транзакции API - Поиск квитанции - HTML-маршрут: https://docs.fastnear.com/ru/apis/transactions/v0/receipt - Markdown-маршрут: https://docs.fastnear.com/ru/apis/transactions/v0/receipt.md # Транзакции API - Поиск квитанции Получить квитанцию по ID Возвращает строку квитанции и, если она есть, связанные сырые данные транзакции. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/transactions/v0/receipt - https://docs.fastnear.com/ru/apis/transactions/openapi/receipts/get_receipt ## Операция - Транспорт: http - Метод: POST - Путь: `/v0/receipt` - Исходная спецификация: `apis/transactions/v0/receipt.yaml` ## Сети - Mainnet: https://tx.main.fastnear.com/ - Testnet: https://tx.test.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: POST - URL: https://tx.main.fastnear.com/v0/receipt - Активный пример: Mainnet ### Тело запроса ```json { "receipt_id": "gzqDSvd3ZMcVUWzBMP7j9KMWz89iZMkkEvW9g8QZjUP" } ``` ## Справка по запросу ### Активный пример ```json { "body": { "receipt_id": "gzqDSvd3ZMcVUWzBMP7j9KMWz89iZMkkEvW9g8QZjUP" }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `receipt_id` (body, обязательный, string) ### Схема запроса ```json { "type": "object", "required": [ "receipt_id" ], "additionalProperties": false, "properties": [ { "name": "receipt_id", "required": true, "schema": { "type": "string" } } ], "refName": "ReceiptInput" } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Результат поиска квитанции ### Схема ответа ```json { "type": "object", "required": [ "квитанция", "транзакция" ], "additionalProperties": false, "properties": [ { "name": "квитанция", "required": true, "schema": { "type": "object", "required": [ "receipt_id", "block_height", "block_timestamp", "receipt_index", "appear_block_height", "appear_receipt_index", "transaction_hash", "tx_block_height", "tx_block_timestamp", "tx_index", "predecessor_id", "receiver_id", "receipt_type", "priority", "shard_id", "is_success" ], "additionalProperties": false, "properties": [ { "name": "appear_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "appear_receipt_index", "required": true, "schema": { "type": "integer", "format": "uint32" } }, { "name": "block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "block_timestamp", "required": true, "schema": { "type": "string" } }, { "name": "is_success", "required": true, "schema": { "type": "boolean" } }, { "name": "predecessor_id", "required": true, "schema": { "type": "string" } }, { "name": "priority", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "receipt_id", "required": true, "schema": { "type": "string" } }, { "name": "receipt_index", "required": true, "schema": { "type": "integer", "format": "uint32" } }, { "name": "receipt_type", "required": true, "schema": { "type": "string" } }, { "name": "receiver_id", "required": true, "schema": { "type": "string" } }, { "name": "shard_id", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "transaction_hash", "required": true, "schema": { "type": "string" } }, { "name": "tx_block_height", "required": true, "schema": { "type": "integer", "format": "uint64" } }, { "name": "tx_block_timestamp", "required": true, "schema": { "type": "string" } }, { "name": "tx_index", "required": true, "schema": { "type": "integer", "format": "uint32" } } ] } }, { "name": "транзакция", "required": true, "schema": { "type": "object", "additionalProperties": true } } ], "refName": "ReceiptResponse" } ``` --- ## Транзакции API - Транзакции по хешу - HTML-маршрут: https://docs.fastnear.com/ru/apis/transactions/v0/transactions - Markdown-маршрут: https://docs.fastnear.com/ru/apis/transactions/v0/transactions.md # Транзакции API - Транзакции по хешу Получить транзакции по хешу Возвращает до 20 наборов сырых данных транзакций для переданных хешей транзакций. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/transactions/v0/transactions - https://docs.fastnear.com/ru/apis/transactions/openapi/transactions/get_transactions ## Операция - Транспорт: http - Метод: POST - Путь: `/v0/transactions` - Исходная спецификация: `apis/transactions/v0/transactions.yaml` ## Сети - Mainnet: https://tx.main.fastnear.com/ - Testnet: https://tx.test.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: POST - URL: https://tx.main.fastnear.com/v0/transactions - Активный пример: Mainnet ### Тело запроса ```json { "tx_hashes": [ "FDrh13CdfGPXsmwUpZLfkZCoXWfpQmaFGj4zYWc1qfh", "Eq1a46bynaBAjoSxd2XGWdCxkZdrMvN9jMZVdZfPSjM5" ] } ``` ## Справка по запросу ### Активный пример ```json { "body": { "tx_hashes": [ "FDrh13CdfGPXsmwUpZLfkZCoXWfpQmaFGj4zYWc1qfh", "Eq1a46bynaBAjoSxd2XGWdCxkZdrMvN9jMZVdZfPSjM5" ] }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `tx_hashes` (body, обязательный, array) ### Схема запроса ```json { "type": "object", "required": [ "tx_hashes" ], "additionalProperties": false, "properties": [ { "name": "tx_hashes", "required": true, "schema": { "type": "array", "items": { "type": "string" } } } ], "refName": "TxInput" } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Найденные транзакции ### Схема ответа ```json { "type": "object", "required": [ "транзакции" ], "additionalProperties": false, "properties": [ { "name": "транзакции", "required": true, "schema": { "type": "array", "items": { "type": "object", "additionalProperties": true } } } ], "refName": "TransactionsResponse" } ``` --- ## API переводов: запрос переводов - HTML-маршрут: https://docs.fastnear.com/ru/apis/transfers/v0/transfers - Markdown-маршрут: https://docs.fastnear.com/ru/apis/transfers/v0/transfers.md # API переводов: запрос переводов Запросить переводы аккаунта Возвращает строки переводов для аккаунта и непрозрачный `resume_token` для пагинации. ## Ссылки на источник - https://docs.fastnear.com/ru/apis/transfers/v0/transfers - https://docs.fastnear.com/ru/apis/transfers/openapi/transfers/get_transfers_by_account ## Операция - Транспорт: http - Метод: POST - Путь: `/v0/transfers` - Исходная спецификация: `apis/transfers/v0/transfers.yaml` ## Сети - Mainnet: https://transfers.main.fastnear.com/ ## Авторизация - Авторизация не требуется ## Текущий запрос - Сеть: Mainnet - Метод: POST - URL: https://transfers.main.fastnear.com/v0/transfers - Активный пример: Недавние входящие переводы NEAR ### Тело запроса ```json { "account_id": "root.near", "desc": true, "limit": 10 } ``` ## Справка по запросу ### Активный пример ```json { "body": { "account_id": "intents.near", "asset_id": "near", "desc": true, "direction": "receiver", "limit": 10, "min_amount": "1000000000000000000000000" }, "headers": {}, "path": {}, "query": {} } ``` ### Входные данные - `account_id` (body, обязательный, string): Идентификатор аккаунта NEAR, для которого нужно получить переводы. - `asset_id` (body, string): Необязательный идентификатор актива, например `near` или ID FT-контракта. - `desc` (body, boolean): Если `true`, сначала возвращаются более новые переводы. - `direction` (body, обязательный, string): Какие переводы вернуть: исходящие (`sender`) или входящие (`receiver`). - `from_timestamp_ms` (body, integer): Нижняя граница времени в миллисекундах UNIX. - `ignore_system` (body, boolean): Если `true`, исключает системные переводы. - `limit` (body, integer): Максимальное количество строк в ответе. - `min_amount` (body, string): Минимальная сумма в базовых единицах актива. - `min_human_amount` (body, number): Минимальная сумма в человекочитаемом виде. - `min_usd_amount` (body, number): Минимальная сумма в долларах США. - `resume_token` (body, string): Непрозрачный токен продолжения из предыдущего ответа. - `to_timestamp_ms` (body, integer): Верхняя граница времени в миллисекундах UNIX. ### Схема запроса ```json { "type": "object", "required": [ "account_id", "direction" ], "additionalProperties": false, "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string" } }, { "name": "asset_id", "required": false, "schema": { "type": "string" } }, { "name": "desc", "required": false, "schema": { "type": "boolean" } }, { "name": "direction", "required": true, "schema": { "type": "string", "enum": [ "sender", "receiver" ] } }, { "name": "from_timestamp_ms", "required": false, "schema": { "type": "integer", "format": "uint64" } }, { "name": "ignore_system", "required": false, "schema": { "type": "boolean" } }, { "name": "limit", "required": false, "schema": { "type": "integer", "format": "uint" } }, { "name": "min_amount", "required": false, "schema": { "type": "string", "default": null } }, { "name": "min_human_amount", "required": false, "schema": { "type": "number", "format": "double" } }, { "name": "min_usd_amount", "required": false, "schema": { "type": "number", "format": "double" } }, { "name": "resume_token", "required": false, "schema": { "type": "string", "default": null } }, { "name": "to_timestamp_ms", "required": false, "schema": { "type": "integer", "format": "uint64" } } ], "refName": "TransfersInput" } ``` ## Справка по ответу - Статус: 200 - Тип данных: application/json - Краткое описание: Строки переводов для указанного аккаунта. ### Схема ответа ```json { "type": "object", "required": [ "transfers", "resume_token" ], "additionalProperties": false, "properties": [ { "name": "resume_token", "required": true, "schema": { "type": "string" } }, { "name": "transfers", "required": true, "schema": { "type": "array", "items": { "type": "object", "required": [ "block_height", "block_timestamp", "receipt_id", "transfer_index", "signer_id", "predecessor_id", "receipt_account_id", "account_id", "asset_id", "asset_type", "amount", "transfer_type" ], "additionalProperties": false, "properties": [ { "name": "account_id", "required": true, "schema": { "type": "string" } }, { "name": "action_index", "required": false, "schema": { "type": "integer", "format": "uint16" } }, { "name": "amount", "required": true, "schema": { "type": "string" } }, { "name": "asset_id", "required": true, "schema": { "type": "string" } }, { "name": "asset_type", "required": true, "schema": { "type": "string" } }, { "name": "block_height", "required": true, "schema": { "type": "string" } }, { "name": "block_timestamp", "required": true, "schema": { "type": "string" } }, { "name": "end_of_block_balance", "required": false, "schema": { "type": "string" } }, { "name": "human_amount", "required": false, "schema": { "type": "number", "format": "double" } }, { "name": "log_index", "required": false, "schema": { "type": "integer", "format": "uint16" } }, { "name": "method_name", "required": false, "schema": { "type": "string" } }, { "name": "other_account_id", "required": false, "schema": { "type": "string" } }, { "name": "predecessor_id", "required": true, "schema": { "type": "string" } }, { "name": "receipt_account_id", "required": true, "schema": { "type": "string" } }, { "name": "receipt_id", "required": true, "schema": { "type": "string" } }, { "name": "signer_id", "required": true, "schema": { "type": "string" } }, { "name": "start_of_block_balance", "required": false, "schema": { "type": "string" } }, { "name": "transaction_id", "required": false, "schema": { "type": "string" } }, { "name": "transfer_index", "required": true, "schema": { "type": "integer", "format": "uint32" } }, { "name": "transfer_type", "required": true, "schema": { "type": "string" } }, { "name": "usd_amount", "required": false, "schema": { "type": "number", "format": "double" } } ], "refName": "TransferRow" } } } ], "refName": "TransfersResponse" } ```