본문 바로가기
블록체인교육/솔리디티

[솔리디티] 3. 이더 단위, 가스와 가스가격

by Danny_Kim 2022. 6. 6.

 

[NEW] 누구나 쉽게 따라하는 솔리디티 강의(솔리디티 버전 0.8.13)

1. Helloworld, 카운터컨트랙트, 데이터타입

2. 변수, 상수, 불변, 상태변수 읽고 쓰기

3. 이더 단위, 가스와 가스가격

4. 조건문, 반복문, 맵핑(mapping)

5. 배열, 열거형(enum), 구조체(calldata,memory) 

6. 데이터 저장공간, 함수(view,pure 속성)

7. 에러(error), 함수수정자(modifier)

8. 이벤트(events), 생성자(constructor), 상속

9. 상속, 섀도잉,super키워드 함수 속성들

10. 인터페이스(interface), payable, 이더전송,받기 관련

11. Fallback, Call, Delegate(솔리디티 업그레이드 기법)

12. 함수 선택자(function selector), 다른 컨트랙트 사용 및 생성기법

13. Try Catch, Import(임포트), Library(라이브러리)

14. ABI 디코드, hash 함수, 서명검증, 가스최적화

* 블록체인 전문가들도 놓치기 쉬운 비트코인, 이더리움의 핵심가치 강의

 

블록체인 전문가들도 놓치기 쉬운 비트코인, 이더리움의 핵심 가치 - 인프런 | 강의

블록체인 기획자,개발자,회사 대표라면 반드시 한번은 봐야 하는 강의입니다. 따로 공부할 시간이 없었다면, 이 요약본 강의를 통해서 비트코인,이더리움 백서의 핵심을 이해할 수 있습니다., -

www.inflearn.com

 

1. 이더 그리고 웨이 (Ether and Wei)

 - 트랜잭션은 이더(ether)가 필요하다.

 - 1 이더(ether)는 10^18 웨이(wei)다.

소스파일

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

contract EtherUnits {
    uint public oneWei = 1 wei;
    // 1 wei is equal to 1
    bool public isOneWei = 1 wei == 1;

    uint public oneEther = 1 ether;
    // 1 ether is equal to 10^18 wei
    bool public isOneEther = 1 ether == 1e18;
}

 

2. 가스(Gas) 와 가스 가격(Gas price)

 2. 1 트랜잭션(transaction)에 필요한 가스비는 얼마나 필요할까?

 - 사용한 가스(gas spent) * 가스 가격(gas price) 의 이더(ether)로 트랜잭션 비용을 지불한다.

 - 가스는 계산의 단위다.

 - gas spent(가스 사용량)은 트랜잭션에 사용된 가스의 총 양이다.

 - gas price(가스 가격)은 가스(gas)당 지불할 이더의 양이다.

 - 가스 가격이 더 높은 트랜잭션 요청이 먼저 처리된다.

 - 사용되지 않은 가스는 환불된다.

 

 2.2 가스 제한(Gas limit)

 - 사용될 수 있는 가스 비용은 2가지 상한선이 존재한다.

 - Gas limit(가스 제한) : 사용자에 의해서 설정된 최대 가스 사용량에 대한 최대치)

 - block gas limit(블록 가스 제한)  : 블록에 허용된 최대 가스 양 - 네트워크에 의해서 설정됨

 

소스

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

contract Gas {
    uint public i = 0;

    // Using up all of the gas that you send causes your transaction to fail.
    // State changes are undone.
    // Gas spent are not refunded.
    function forever() public {
        // Here we run a loop until all of the gas are spent
        // and the transaction fails
        while (true) {
            i += 1;
        }
    }
}

 

소스 출처 : https://solidity-by-example.org/

 

블록체인 교육 문의는 아래 링크 참고 바랍니다. 

https://kimsfamily.kr/414

 

블록체인 교육 커리큘럼 및 프로필

안녕하세요 제 프로필을 간략하게 정리하였습니다. 비즈니스 문의는 dannykim@kakao.com 으로 연락주시기 바랍니다. 감사합니다. 프로필) 블록체인 강의 경력) 1. 블록체인 강의 (20년~현재) 2022년  -

kimsfamily.kr

 

반응형

댓글0