solidity 기초(3)
-
Solidity 기초 - 4 (구조체 압축)
Solidity의 데이터 저장 단위 Solidity는 변수를 선언 시, 256비트의 저장 공간을 미리 잡아놓습니다. 즉, uint로 선언하는 것과 uint16으로 선언하는 것은 가스 비용을 줄이는데에 아무 영향이 없습니다. 구조체 압축 구조체 안에서의 변수 타입 선언은 가능한한 작은 크기의 타입을 사용하는 것이 좋습니다. 구조체도 256비트 단위를 맞춰 저장하려고 하지만, 내부에서 선언되는 타입들은 정렬이 가능하기 때문입니다. C언어의 구조체 padding bit와 동일합니다. struct NormalStruct { uint a; //256 uint b; //256 uint c; //256 }//768 struct MiniMe { uint32 a; //32 uint32 b; //32 uint c; //2..
2022.01.23 -
Solidity 기초 - 3 (함수 제어자)
함수 제어자 함수 제어자는 함수처럼 보이지만, function 키워드 대신 modifier 키워드를 사용합니다. 함수 제어자는 function 함수 정의부 끝에 제어자의 이름을 붙여 사용할 수 있습니다. modifier onlyOwner() { require(msg.sender == owner); _; } contract MyContract is Ownable { event LaughManiacally(string laughter); function likeABoss() external onlyOwner { LaughManiacally("Muahahahaha"); } } 위와 같이 function likeABoss() 선언부 뒤에 modifier 함수 제어자를 선언하여 사용합니다. 그리고 likeABos..
2022.01.17 -
Solidity 기초 - 1 (기본 변수, 함수 Keyword)
Version Pragma 모든 solidity 코드는 'version pragma'로 시작해야합니다. 이것은 해당 버전을 이용하여 컴파일러한다는 의미입니다. pragma solidity ^0.4.19; cntract HelloWorld { } ----------------------------- pragma solidity>=0.4.19
2022.01.11