[Решено] Как мне получить конечную точку RPC для TON?
-
Как мне получить конечную точку RPC для сети TON и где я могу получить соответствующую документацию по ней?
-
TLDR
В большинстве случаев https://www.orbs.com/ton-access является хорошим решением для получения нерегулируемого и децентрализованного RPC-доступа
Он также имеет удобный JS API:
import { getHttpEndpoint } from "@orbs-network/ton-access"; import { TonClient } from "ton"; // get the decentralized RPC endpoint const endpoint = await getHttpEndpoint(); // initialize ton library const client = new TonClient({ endpoint });
Более длинный ответ
Это зависит от вашего варианта использования. Существует три основных варианта использования RPC:
-
Вы хотите экспериментировать как разработчик, учиться и играть. Вы совершите небольшое количество звонков. Для этого TON Access, вероятно, является лучшим, потому что вам не нужно регистрироваться, и он надежен.
-
Вы создаете производственное dapp, и вашему веб-клиенту необходимо выполнять RPC-вызовы, такие как вызов getters. Для этого TON Access является лучшим, потому что именно для этого он и был создан. Ваши пользователи dapp анонимны, и это единственный сервис, который не будет ограничивать их с помощью объявления, поскольку у них нет ключей API.
-
Вы создаете производственный сервер, которому необходимо выполнять много вызовов в цепочку. Например, вы создаете службу индексации, которая показывает всех владельцев Jetton, поэтому для индексации данных в вашем бэкэнде вам нужен RPC. Для этого TON Access совсем не подходит, и вам лучше воспользоваться такими сервисами, как TonCenter или TonApi. Эти сервисы потребуют, чтобы вы зарегистрировали ключ API, что имеет смысл, поскольку вы опытный пользователь.
Не запускайте свой собственный RPC
Если вы создаете централизованный сервис, то запустите свой собственный RPC. Но если вы создаете децентрализованный сервис, такой как dapp, полагаться на сервер, который вы запускаете самостоятельно, слишком централизованно и считается плохой практикой.
Будьте осведомлены о нескольких протоколах RPC
В отличие от Ethereum, у TON нет единого протокола RPC, который используют все. В настоящее время люди используют 3 различных протокола RPC:
- [HTTP API V2](https://toncenter.com/api/v2 /) создано TonCenter 2. HTTP API V4 создано TonWhales 3. Raw ADNL по протоколу HTTP
TON Access в настоящее время является единственным поставщиком RPC, который поддерживает все 3 протокола.
Пожалуйста, обратите внимание, что TonApi - это централизованный индексированный сервис, а не RPC. Для децентрализованных приложений вам нужно, чтобы ваши запросы к блокчейну направлялись на полные узлы или узлы-валидаторы. Этого не происходит с TonApi, поскольку у него есть специальные индексы, которые не поддерживают полные узлы TON и узлы-валидаторы.
Раскрытие информации
Я помогал создавать TON Access. Причина, по которой я его создал, заключается в том, что в экосистеме не было децентрализованного RPC-провайдера для dapps, и я думаю, что такая вещь важна.
-
-
Прежде всего, как вы используете конечную точку RPC, которую вы хотите?
Чтобы получить конечную точку RPC для сети TON, вы можете либо запустить свой собственный узел, либо использовать общедоступный узел, управляемый третьей стороной. Чтобы запустить свой собственный узел, вам нужно будет загрузить и настроить программное обеспечение TON, которое можно получить из официального репозитория TON GitHub. Для поиска общедоступных узлов вы можете проверить веб-сайты, такие как TON Labs, или выполнить поиск узлов TON на популярных форумах.
Документацию для сети TON, включая информацию о RPC API, можно найти в разделе для разработчиков TON на веб-сайте TON Labs и в официальном репозитории TON GitHub.
https://github.com/ton-core https://github.com/ton-community
Пожалуйста, обратите внимание, что TonApi (https://tonapi.io/) - это централизованный индексированный сервис, а не RPC. Для децентрализованных приложений вам нужно, чтобы ваши запросы к блокчейну направлялись на полные узлы или узлы-валидаторы. Этого не происходит с TonApi, поскольку у него есть специальные индексы, которые не поддерживают полные узлы TON и узлы vliadator.