BlockChain

(BlockChain) Solidity 문법(2)

JJeongHyun 2023. 3. 9. 17:30
반응형

https://developerjjh.tistory.com/165

 

(BlockChain) Solidity 문법(1)

Solidity 자료형 (타입) int : 부호가 있는 정수 uint : 부호가 없다 (양수) string : 문자열 ***[] : 배열 address : 주소 관련 정보를 제공 20 크기의 이더리움 어드레스 지갑 계정 주소 | CA 종류 address.balance :

developerjjh.tistory.com

메서드 옵션

  • 접근제어 지정자 (가시성으로 분류)
    • external : 외부 컨트랙트만 접근 가능
      • 해당 스마트 컨트랙트 내부에서 호출하지 못하고 외부에서만 호출이 가능하도록 설정
      • 상태변수는 external 옵션을 사용할 수 없다
    • internal : 내부 컨트랙트 호출 가능
      • 해당 스마트 컨트랙트 외부에서 호출하지 못하고 내부에서만 호출할 수 있도록 설정
      • 상속받은 컨트랙트도 호출 가능
      • 상태변수는 따로 옵션을 설정하지 않으면 default로 설정된다
    • public : 컨트랙트 내부, 외부 그리고 상속받은 컨트랙트 모두 호출이 가능
    • private : 컨트랙트 내부에서만 호출이 가능
  내부 컨트랙트 사용 여부 외부 컨트랙트 사용 여부 상속 컨트랙트 사용 여부
public O O O
private O X X
internal X O X
external O X O
  • 함수타입 제어자
    • view : 데이터를 읽는 것만 허용(readOnly)
      • 가스 비용 X
      • 해당 스마트 컨트랙트의 변수(데이터)를 사용할 수 있지만, 수정은 불가능
    • pure : 해당 스마트 컨트랙트의 변수(데이터)를 사용, 수정 불가능
      • 매개변수값만 활용해서 반환값을 생성
      • 가스 비용 X
  데이터 읽기 데이터 쓰기 가스 비용
view O X X
pure X X X