반응형
https://developerjjh.tistory.com/165
메서드 옵션
- 접근제어 지정자 (가시성으로 분류)
- external : 외부 컨트랙트만 접근 가능
- 해당 스마트 컨트랙트 내부에서 호출하지 못하고 외부에서만 호출이 가능하도록 설정
- 상태변수는 external 옵션을 사용할 수 없다
- internal : 내부 컨트랙트 호출 가능
- 해당 스마트 컨트랙트 외부에서 호출하지 못하고 내부에서만 호출할 수 있도록 설정
- 상속받은 컨트랙트도 호출 가능
- 상태변수는 따로 옵션을 설정하지 않으면 default로 설정된다
- public : 컨트랙트 내부, 외부 그리고 상속받은 컨트랙트 모두 호출이 가능
- private : 컨트랙트 내부에서만 호출이 가능
- external : 외부 컨트랙트만 접근 가능
내부 컨트랙트 사용 여부 | 외부 컨트랙트 사용 여부 | 상속 컨트랙트 사용 여부 | |
public | O | O | O |
private | O | X | X |
internal | X | O | X |
external | O | X | O |
- 함수타입 제어자
- view : 데이터를 읽는 것만 허용(readOnly)
- 가스 비용 X
- 해당 스마트 컨트랙트의 변수(데이터)를 사용할 수 있지만, 수정은 불가능
- pure : 해당 스마트 컨트랙트의 변수(데이터)를 사용, 수정 불가능
- 매개변수값만 활용해서 반환값을 생성
- 가스 비용 X
- view : 데이터를 읽는 것만 허용(readOnly)
데이터 읽기 | 데이터 쓰기 | 가스 비용 | |
view | O | X | X |
pure | X | X | X |
'BlockChain' 카테고리의 다른 글
(BlockChain) IERC721Metadata 구현 (0) | 2023.03.10 |
---|---|
(BlockChain) Interface IERC20 / ERC20 Token 구현 (0) | 2023.03.09 |
(BlockChain) Solidity를 이용한 간단하게 Bakery 예제 (0) | 2023.03.08 |
(BlockChain) Solidity를 이용한 투표 DApp 구현 (0) | 2023.03.08 |
(BlockChain) Token (0) | 2023.03.06 |