MsgBroadcaster 추상화 클래스는 Injective에서 쉽게 트랜잭션을 브로드캐스트하는 방법입니다. 이를 사용하면 트랜잭션에 패킹하려는 메시지와 서명자의 주소를 전달하면 트랜잭션이 준비, 서명 및 브로드캐스트됩니다.사용 예시는 Helix 데모 리포지토리에서 찾을 수 있습니다. broadcast 메서드에 전달할 수 있는 메시지의 경우 문서의 Core Modules 섹션에서 예시를 찾을 수 있습니다.
MsgBroadcaster의 생성자에 전달된 일부 옵션과 트랜잭션 브로드캐스트 시 옵션을 재정의할 수 있습니다. 다음은 인터페이스와 각 필드의 의미입니다
import { Msgs } from '@injectivelabs/sdk-ts/core/modules'import { ChainId, EvmChainId } from '@injectivelabs/ts-types'import { Network, NetworkEndpoints } from '@injectivelabs/networks'import type { WalletStrategy } from '../strategies'export interface MsgBroadcasterOptions { network: Network /** 네트워크 구성 (chainId, fees 등) - 메인넷의 경우 Network.MainnetSentry 또는 테스트넷의 경우 Network.TestnetSentry */ endpoints?: NetworkEndpoints /** 선택사항 - `network` 매개변수에서 가져온 엔드포인트 재정의 **/ feePayerPubKey?: string /** 선택사항 - 수수료 위임 서비스를 사용하는 경우 Web3Gateway에 대한 추가 쿼리를 하지 않도록 수수료 지불자를 설정할 수 있음 */ simulateTx?: boolean /** 브로드캐스트 전에 트랜잭션 시뮬레이션 + 트랜잭션에 필요한 가스 수수료 가져오기 */ txTimeout?: number /** 선택사항 - tx가 블록에 포함될 때까지 대기할 블록 수 **/ walletStrategy: WalletStrategy gasBufferCoefficient?: number /** 선택사항 - 트랜잭션이 블록에 포함되도록 시뮬레이션/하드코딩된 가스에 추가할 가스 버퍼 */}export interface MsgBroadcasterTxOptions { memo?: string /** 트랜잭션에 추가된 MEMO **/ injectiveAddress: string /** 트랜잭션의 서명자 **/ msgs: Msgs | Msgs[] /** 트랜잭션에 패킹할 메시지 **/ /* *** 하드코딩된 가스/시뮬레이션 재정의 - *** MsgBroadcaster 생성자의 simulateTx 매개변수에 *** 따라 달라짐 */ gas?: { gasPrice?: string gas?: number /** 가스 한도 */ feePayer?: string granter?: string }}
endpoints를 재정의하고 자체 인프라를 사용하려면(권장)
제공해야 하는 엔드포인트와 설정 방법에 대해
Networks 페이지에서 자세히 읽어보세요.