완료됨
ABI에 정의되는 컨트랙트 함수 관련..

해당 문제의 safe.sol 코드를 보면 owner()라는 함수를 찾아볼 수 없는데, 자바스크립트에서 컨트랙트 ABI 정의 부분을 보면 owner() 함수가 작성되어있고, 호출할 수 있음을 확인했습니다.

컨트랙트 코드에 owner()가 정의되어 있지 않은데, 어떻게 ABI에 작성하고 호출할 수 있는지 궁금합니다.

image.png

image.png

#web3
작성자 정보
더 깊이 있는 답변이 필요할 때
드림핵 팀과 멘토에게 직접 문의해 보세요!
답변 1
avatar
rbtree_work
대표 업적 없음
avatar
rbtree_work
대표 업적 없음

안녕하세요,

Solidity에서 public한 상태 변수가 있을 경우 기본적으로 해당 변수를 위한 getter 함수를 정의합니다.
즉, address public owner; 와 같이 상태 변수를 정의하면 기본적으로 function owner() public view returns (address) { return owner; } 라는 메소드가 정의된다고 이해하시면 됩니다.

2024.08.14. 18:48