반응형

사람 뿐만 아니라, 스마트 계약도 내부적으로 이더리움 계정1를 가집니다. 스마트 계약은 계약 계정를 통해 이더를 거래합니다.
예를 들어, 계약을 통해 A가 B에게 10 이더를 보내는 계약을 호출할 때, 이더는 사실 다음과 같이 이동합니다.

  1. A가 A 계정에서 계약 계정으로 10 이더를 송금
  2. 계약이 계약 계정에서 B 계정으로 10이더를 송금

 

 

payable 키워드

payable 키워드는 계약 계정에 외부에서 이더를 송금 받을 수 있도록 합니다. 즉, 계약이 A에게 송금을 받으려면 A가 호출하는 함수에 payable 키워드가 있어야합니다.

 

 

아래코드를 실행해보세요.

pragma solidity ^0.4.24;

contract Solution {
    uint256 balance = 0;

    function sending() payable public {
        balance = msg.value;
        emit Sended(msg.value, balance);
    }

    event Sended(
        uint256 _value,
        uint256 _balance
    );
}

 

payable 키워드를 사용해 계약에게 이더를 보내는 방법을 선언합니다. 

 

 

반응형

'Blockchain 개발 > Solidity 프로그래밍' 카테고리의 다른 글

Solidity Event란?  (0) 2020.02.09
Solidity 문법  (0) 2020.02.09
Solidity 실행하기  (0) 2020.02.08

+ Recent posts