스마트 컨트랙트 실행
TxTypeSmartContractExecution은 주어진 데이터로 스마트 컨트랙트를 실행합니다. TxTypeSmartContractExecution은 "to"가 스마트 컨트랙트 계정인 경우에만 허용됩니다.
이러한 유형의 트랜잭션은 계정 생성, 토큰 전송, 스마트 컨트랙트 배포, 스마트 컨트랙트 실행, 또는 앞서 언급한 여러 가지를 혼합하여 수행할 수 있습니다.
웹3에서 Kaia 기능을 추가하기 위해 @Kaia체인/viem-ext 패키지를 가져옵니다.
HTTP** 전송(http()
)을 통해 Kaia Kairos 테스트넷(Kairos
)과 상호 작용하도록 구성된 createPublicClient를 사용하여 publicClient를 생성합니다. 퍼블릭 클라이언트는 개인 키나 서명 기능 없이 블록체인 쿼리 또는 스마트 컨트랙트 상태 읽기와 같은 읽기 전용 작업에 사용됩니다.
Kairos 체인**, HTTP 전송, 계정으로 변환된 발신자의 개인 키로 구성된 createWalletClient를 사용하여 지갑 클라이언트를 설정합니다.
실행하려는 계약 주소를 to 필드에 설정하고 ABI를 설정합니다.
함수 이름과 파라미터를 encodeFunctionData 함수로 인코딩합니다.
준비 트랜잭션 요청**을 사용해 스마트 컨트랙트 실행을 위한 트랜잭션 요청을 생성합니다. 트랜잭션 유형 **(TxType.smartContractExecution)**을 지정합니다.
TX를 블록체인으로 전송합니다. 함수 sendTransaction
은 계정의 개인 키로 내부적으로 서명한 다음 블록체인 네트워크로 전송합니다.
publicClient**는 스마트 컨트랙트에서 number 함수를 호출하여 컨트랙트의 상태에 저장된 현재 값을 가져옵니다.