🔑 코인 투자 추천 링크 🔑
[NEW] 누구나 쉽게 따라하는 솔리디티 강의(솔리디티 버전 0.8.13)
5. 배열, 열거형(enum), 구조체(calldata,memory)
8. 이벤트(events), 생성자(constructor), 상속
10. 인터페이스(interface), payable, 이더전송,받기 관련
11. Fallback, Call, Delegate(솔리디티 업그레이드 기법)
12. 함수 선택자(function selector), 다른 컨트랙트 사용 및 생성기법
13. Try Catch, Import(임포트), Library(라이브러리)
14. ABI 디코드, hash 함수, 서명검증, 가스최적화
* 블록체인 전문가들도 놓치기 쉬운 비트코인, 이더리움의 핵심가치 강의
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/
블록체인 교육 문의는 아래 링크 참고 바랍니다.
댓글