스마트 컨트랙트 modifier 관련 질문입니다

현재 개발중인 스마트 컨트랙트에서 아래와 같은 형태의 modifier를 사용하고 있습니다.

modifier onlyAdmin(){
require(adminAcc == msg.sender, “you don’t have permission”);
_;
}

caver-js 또는 KAS를 통해 트랜잭션을 송신하고 modifier에 의해 revert 된 경우, 위 modifier의 “you don’t have permission” 과 같은 메시지를 확인할 수 있는 방법이 있을까요?

어떤 modifier에 의해 revert 되었는지 확인하고, 에러 처리에 사용하려 합니다.

방법이 있다면 답변 부탁드립니다. 감사합니다!

안녕하세요, 클레이튼 포럼에 질문을 올려주셔서 감사드립니다.

debug_traceTransaction을 이용하셔서 해당 revert 메시지를 확인하실수 있습니다.

다만 이 기능을 이용하시기 위해서는 별도의 EN을 운영하시면서 확인하셔야 합니다.

현재 KAS에서 제공하고 있는 Node API에서는 debug로 시작하는 함수들을 지원하고 있지는 않습니다.

개발하시는 과정에서 확인하고 싶으신거면, klaytn-contracts에서의 설정을 확인하셔서 ganache를 이용하거나 local network을 이용하셔서 확인하실 수 있습니다.

감사합니다.