Solidity 문법 정리 - 1

Yona·2022년 1월 25일
1

Solidity

목록 보기
2/2
post-thumbnail
post-custom-banner

📔 Solidity

Solidity (솔리디티)란?
이더리움의 스마트 컨트랙트를 구현하기 위해 사용되는 계약 지향 프로그래밍 언어이다...

📔 Layout of a Solidity Source File

pragma

pragma solidity ^0.8.7; // ^ 이걸 넣어주면 0.8.7 버전 이후로는 다 실행 가능
or
pragma solidity >=0.4.0 < 0.6.0; // 범위내에 버전만 실행 가능

solc 버전을 꼭 적어줘야한다.

import

import "filename";
import * as SymbolName from "filename";

import 는 가져와서 쓸거 가져다 쓰면 된다.

Comments

// or /* */ 을 통해 주석을 작성할 수 있다.

📔 Structure of a Contract

State Variables

contract example {
  uint exam_number; // 전역 변수

function

contract example {
  function simplefunc { // 함수
    // ...

function 함수 선언할 때 사용된다.

modifier

contract example {
  address public seller;
  
  modifire onlySeller() { // modifier 선언
    require(msg.sender == seler, "only seller can call this.");
    _;
  }
  
  function abort() public view onlySeller { // modifier 사용
    //...
  }
}

modifier 는 함수 변경자로 ; 을 만나기 전, ; 을 만났을 때 modifier 실행, _; 이후 실행된다.

event

contract example {
  event HighestBidIncreased(address bid, uint amount); // event 선언
  
  function bid() public payable {
    // ...
    	emit HighestBidIncreased(msg.sender, msg.value); // event 트리거
  }
}

기록남기기로 emit 을 만나면 event가 실행된다.

struct

contract Ballot {
    struct Voter { // struct 
        uint weight;
        bool voted;
        address delegate;
        uint vote;
    }
}

구조체다.

enum

contract Purchase {
    enum State { Created, Locked, Inactive } // Enum
}

열거형이다.


💡 참고링크

1) solidity Docs

post-custom-banner

0개의 댓글