[솔리디티] 상태 변수와 자료형 (Data Type) / 함수 제어자 (State Mutability) / Keccak256

91Savage·2022년 8월 4일
0

Solidity

목록 보기
3/11

상태 변수와 자료형 (Data Type)

- 상태변수
컨트랙트 저장소에 영구적으로 저장됨 (블록체인에 기록)

- 자료형
데이터의 종류에 따라 저장되는 형태

값타임

bool, int, uint, fixed, ufixed, address, fixed size bytes, ...

참조타입

Arrays, struct, string, dynamic bytes...

매핑타입

mapping

함수타입

function

함수 제어자

함수의 상태 변수 접근 여부, 접근 방식 등을 제어하는 함수 제어자

view : 함수가 상태 변수에 접근하지만, 변경하지는 않음 (only read)
pure : 함수가 상태 변수에 접근하지 않음
payable : 함수 호출 시 eth(이더)를 송금해야 하는 함수
명시되지 않은 함수는 호출 시 상태 변수를 변경함
컴파일러가 컴파일 시 잘못된 state mutability를 사용한 경우 경고 표시

Keccak256

  • 해시 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수
  • 난수 발생기로 사용
  • 자료형(변수) 형태로 형 변환
  • 매개변수 str을 keccak256 해시로 변환하고 이를 uint 형 변환환 결과를 rand라는 uint형 변수에 저장
    -256비트 길이의 rand변수를 dnaModulus로 나눈 나머지를 구하여 14자리로 만든결과 값을 dna라는 uint형 변수에 저장
  • 종류에 해당하는 dna의 마지막 두자리를 00으로 설정

0개의 댓글