Injective Typescript Networks
Сети
Создание dApp на Injective требует возможности подключения к различным средам и сетям, в которых можно с легкостью тестировать свои dApp. В рамках моно режима injective-ts имеется пакет @injectivelabs/networks, который позволяет разработчикам легко получить доступ к заранее определенным средам для подключения к различным частям Injective.
Из этого пакета экспортируются две ключевые функции:
export function getNetworkEndpoints(network: Network): NetworkEndpoints
export function getEndpointsForNetwork(network: Network): OldNetworkEndpoints
export function getNetworkInfo(network: Network): ChainInfo
Первая из них, getNetworkEndpoints, возвращает заранее определенный набор конечных точек, который может быть использован разработчиками - в зависимости от их потребностей. Вот интерфейс, который возвращается из этой функции:
export type NetworkEndpoints = { indexer: string // the grpc-web port of the indexer API service grpc: string // the grpc-web port of the sentry node rest: string // the REST endpoint of the sentry node rpc?: string // the REST endpoint of the Tendermint RPC }
/** @deprecated */ export type OldNetworkEndpoints = { exchangeApi: string // @deprecated - the grpc-web port of the exchange API service indexerApi: string // the grpc-web port of the indexer API service sentryGrpcApi: string // the grpc-web port of the sentry node sentryHttpApi: string // the REST endpoint of the sentry node tendermintApi?: string // the REST endpoint of the Tendermint RPC chronosApi?: string // the REST endpoint of the chronos API service exchangeWeb3GatewayApi?: string // the grpc-web port of the web3-gateway service API }
Давайте объясним, что это за конечные точки и что они означают:
indexer - это конечная точка grpc-web, которая используется для подключения к сервису exchange/indexer, который прослушивает события от цепочки, обрабатывает их и сохраняет данные в mongoDB, что позволяет проще и производительнее обслуживать эти данные, чем запрашивать их непосредственно из самой цепочки,
grpc - конечная точка grpc-web, которую мы можем использовать для подключения к узлу Sentry. Узел Sentry - это, по сути, версия цепочки, предназначенная только для чтения (и облегчения), которую мы можем использовать для запроса данных непосредственно из цепочки.
rest - это конечная точка REST, которую мы можем использовать для подключения к узлу sentry.
rpc - конечная точка REST, которую мы можем использовать для подключения к Tendermint RPC,
Функция getNetworkInfo экспортирует эти конечные точки, а также ChainId и плату по умолчанию для нужной нам Сети.