[solidity] 전역변수 ( block.timestamp, msg.sender, msg.value )

HyeongA·2023년 5월 22일
0

Blockchain_dev

목록 보기
10/20
post-thumbnail

📝 전역변수

블록체인 및 트랜잭션에 대한 속성을 가지고 올 수 있는 변수
더 많은 전역변수 구경하기

1. block.timestamp

: 블록의 타임스탬프 값
: UNIX time 표기법 사용
→ 1970년 1월 1일 00:00:00 UTC부터 몇 초 경과했는지 계산

contract Time {
    //스마트 컨트랙트가 생성될 때의 timestamp
    uint public currentTime = block.timestamp;
    //함수를 작동시키는 순간의 timestamp
    function currentTime2() public view returns(uint){
        return block.timestamp;
    }
  	//timestamp에 숫자 혹은 날짜를 더할 수 있음
    function getTime() public view returns(uint) {
        return block.timestamp + 100/*seconds,minutes,hours,days,weeks가능*/;
    }
    /*function getTime2() public view returns(uint) {
        return block.timestamp + 1 years; //0.5.0부터 없어짐
    }*/
}

2. msg.sender / msg.value

  • msg.sender는 함수를 사용하고 있는 사용자를 의미하고, 이 사용자의 지갑 주소를 출력한다.
  • msg.value는 함수를 사용하고 있는 사용자가 입력한 값을 의미한다.

  • EXAMPLE CODE
//msg.value의 금액 만큼 돈을 이 스마트 컨트랙트에서 받는 함수
	function deposite() public payable {} 
//거래를 일으킨 사람의 지갑주소를 owner로 지정
    function setOwner() public {
        owner = payable(msg.sender); 
    }

참고자료

profile
Solidity | React | Python

0개의 댓글