4. Solidity smart contract - Gas
in Study on Blockchain
4.2 Gas
- 가스는 수수료이다.
- 채굴자에게 보상금으로 지급한다.
- 수수료를 내야 하는 상황
- 다른 계정으로 돈 보낼 때
- 스마트 컨트랙 배포할 때
- 함수에서 상태변수에 변화를 줄 때
- 등등
- 함수 실행중인 계정에서 가스비 지불
- 가스비도 에더 (ETH) 를 사용(진짜 돈)
- 가스 단위를 쓰는 이유
- 에더는 화폐 변동성이 크다
- 가스 가격은 거의 변동하지 않는다.
- 가스 비용은 함수의 복잡성에 따라 결정된다.
- 연산에 소모되는 비용 => 옵코드(opcode)
- 네트워크 상태, 컴퓨팅 자원에 따라 비용 결정
Ex) 메타마스크
Gas Limit : 한도 이 트랜잭션을 처리하면서 쓰이는 최대한도비용. 메타마스크는 T를 미리 시뮬레이션하고 가스 한도를 미리 보여준다. 네트워크 상태에 따라 조금ㅁ 다르게 나옴
Gas Price : 채굴자에게 시간당으로 지불하는 단위. 네트워크 상태에 따라 평균가가 정해집니다.
여기서 평균가 볼 수 있음ethgasstation.info
Max Transaction Fee : 최대 비용
- 실제 가스 사용 량은 트랜잭션 처리를 하고 난 후에 확인할 수있다.
- 이더스캔
- 사용한 가스 * 사용 가격 = 우리가 최종적으로 사용한 수수료 값
가스의 필요성
- 무한 반복문 저지
- 함수내 실수로 인한 네트워크 성능 저하
가스가 없었다면 네트워크가 종종 다운되거나 어마어마하게 느려졌을 것이다.