testnet
GitHub EN

프리컴파일에서 이벤트를 발행하는 방법

integration intermediate

utils.EmitEvent 헬퍼를 사용하여 EVM 로그를 생성하는 방법에 대한 빠른 가이드입니다.

사전 요구사항

  • Go
  • 마루 프리컴파일 아키텍처

인자 이해하기

EmitEventargs 가변 인자는 Solidity 이벤트 정의에 나타나는 순서 그대로 인덱싱된 인자(토픽)와 인덱싱되지 않은 인자(데이터)를 모두 포함해야 합니다.
event MyEvent(uint256 indexed id, string name);
참고: 위 이벤트의 경우, `id` (uint256)를 먼저 전달하고 그 다음 `name` (string)을 전달해야 합니다.

에러 처리

항상 반환된 에러를 확인하세요. 흔한 에러로는 EventNotFound (이름 오타) 또는 ArgCountMismatch가 있습니다.
if err := utils.EmitEvent(...); err != nil {
    // 내부 에러를 로그로 남기되, 구현 세부 정보 유출을 막기 위해 EVM에는 일반 에러를 반환할 수 있습니다.
    return nil, err
}
소스: maroo
ESC
검색어를 입력하세요