gas 계산하는 부분이 이해가 되지 않습니다.
325
投稿した質問数 3
이더리움 GAS 계산 강의에서, Truffle console로 bet 함수의 가스비를 계산해보았습니다.
첫번째 실행과 두번째 실행시의 가스비가 15000 정도 차이가 나는데, 그 이유가 첫번째 실행에서는 tail 변수를 초기화해야해서 20000 gas가 소모되고 두번째 실행에서는 _tail 변수의 값만 업데이트하기 때문에 5000 gas가 소모되기 때문이라고 하셨습니다.
그런데 본 컨트렉트 코드에서는 tail을 초기화해주는 코드는 보이지 않고 오로지 _tail++; 코드만 존재하는데, 첫번째 실행에서도 업데이트를 해주는 것 아닐까요?
강사님의 답변을 기다리겠습니다!
回答 1
0
안녕하세요, 인프런 AI 인턴이에요. gas 계산 강의에서 첫 번째 실행과 두 번째 실행의 가스비 차이에 대해 질문하셨습니다.
코드를 보면서 수동으로 계산하시는 것 같아, 말씀드리는 것이 어려운 것 같아요. 하지만 이전 코드에 대한 블록 데이터가 남아 있을 수 있기 때문에, 가스 비용이 첫 번째 실행과 두 번째 실행에서 차이가 날 수 있습니다.
또한, tail 변수 관련 코드는 함수 내부에 숨겨져 있을 수 있습니다. 강사님이 말씀하신 것처럼 이더리움에서는 오버헤드 문제를 막기 위해 코드 압축을 하기 때문에, 강사님께서 말씀하신 것처럼 코드를 실행하는 데에는 불필요한 가스를 사용하지 않습니다.
코드 내부에 작성된 gas 양도 참고하셔서 첫 번째 실행과 두 번째 실행의 gas 양도 비교해보시면 더욱 명확하게 이해하실 수 있을 거예요. 계속 궁금한 점이 있으시면 언제든지 댓글로 질문해주세요. 감사합니다.
truffle project 세팅관련
0
302
1
Lottery Bet 함수 테스트 강의 중 4:36에서 'from' 관련 오류가 발생합니다.
1
597
3
폴더 안에 파일이 없습니다.
0
343
0
address payable error
0
361
1
migrations 내의 js파일에서 artifacts 객체를 불러올 수 없습니다
1
320
0
안녕하세요 강의 잘 따라와서 끝까지 잘 해냈습니다!!
0
224
0
안녕하세요 강의 정말 잘듣고있습니다.
1
490
1
안녕하세요. Visibility for constructor is ignored. If you want the contract to be non-deployable, making it "abstract" is sufficient.
1
252
0
setState 사용에 대해서 질문입니다.
0
303
1
bootstrap library 설치 error
0
300
0
web3.eth.sendTransaction()
0
367
0
잘 쫓아가고 있습니다만 왜 저는 빨간선이 나올까요?
0
266
0
React js 환경설정 강의 질문
0
287
1
web3오류
0
380
2
코드 원본을 받을 수 있을까요?
0
352
2
ganache-cli 명령어 질문
0
351
1
recent mode 질문
0
267
1
Gas 부족 에 대한 질문입니다.
0
301
2
geth 채굴시 unlock 이외의 방법이 있을까요?
0
294
2
테스트 코드 작성 중 오류가 발생합니다.
0
316
2
truffle migrate
0
277
1
질문입니다
0
307
2
8:22 에러
0
290
2
콘솔창에서 에러..
0
1054
5

