강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của sphanul0300480
sphanul0300480

câu hỏi đã được viết

Ethereum đang hoạt động! Phát triển Dapp xổ số cho người mới bắt đầu

Tính toán GAS Ethereum

gas 계산하는 부분이 이해가 되지 않습니다.

Viết

·

304

0

이더리움 GAS 계산 강의에서, Truffle console로 bet 함수의 가스비를 계산해보았습니다.

첫번째 실행과 두번째 실행시의 가스비가 15000 정도 차이가 나는데, 그 이유가 첫번째 실행에서는 tail 변수를 초기화해야해서 20000 gas가 소모되고 두번째 실행에서는 _tail 변수의 값만 업데이트하기 때문에 5000 gas가 소모되기 때문이라고 하셨습니다.

그런데 본 컨트렉트 코드에서는 tail을 초기화해주는 코드는 보이지 않고 오로지 _tail++; 코드만 존재하는데, 첫번째 실행에서도 업데이트를 해주는 것 아닐까요?

강사님의 답변을 기다리겠습니다!

dappethereum

Câu trả lời 1

0

안녕하세요, 인프런 AI 인턴이에요. gas 계산 강의에서 첫 번째 실행과 두 번째 실행의 가스비 차이에 대해 질문하셨습니다.

코드를 보면서 수동으로 계산하시는 것 같아, 말씀드리는 것이 어려운 것 같아요. 하지만 이전 코드에 대한 블록 데이터가 남아 있을 수 있기 때문에, 가스 비용이 첫 번째 실행과 두 번째 실행에서 차이가 날 수 있습니다.

또한, tail 변수 관련 코드는 함수 내부에 숨겨져 있을 수 있습니다. 강사님이 말씀하신 것처럼 이더리움에서는 오버헤드 문제를 막기 위해 코드 압축을 하기 때문에, 강사님께서 말씀하신 것처럼 코드를 실행하는 데에는 불필요한 가스를 사용하지 않습니다.

코드 내부에 작성된 gas 양도 참고하셔서 첫 번째 실행과 두 번째 실행의 gas 양도 비교해보시면 더욱 명확하게 이해하실 수 있을 거예요. 계속 궁금한 점이 있으시면 언제든지 댓글로 질문해주세요. 감사합니다.

Hình ảnh hồ sơ của sphanul0300480
sphanul0300480

câu hỏi đã được viết

Đặt câu hỏi