inflearn logo
강의

講義

知識共有

Ethereum本番!初心者向けのLottery Dappの開発

Ethereum GASの計算

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

325

nuriz

投稿した質問数 3

0

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

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

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

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

dapp ethereum

回答 1

0

communityai8509

안녕하세요, 인프런 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