체인의정석

스마트컨트렉트 가스비 손쉽게 측정하기 본문

블록체인/Solidity

스마트컨트렉트 가스비 손쉽게 측정하기

체인의정석 2022. 5. 30. 16:48
728x90
반응형

EIP 1559 업데이트 이후 가스비 계산 방법이 매우 복잡해졌다.

근데 생각보다 해결방법은 간단한데 그 이유는 가스비를 계산해주는 모듈들이 나온 가스비에 곱하면 되는 가스비 상수들을 모두 실시간으로 지원해 주기 때문이다.

 

실제로 메인네트워크 배포까지 했는데 예측 가스비와 거의 근접한 값이 나오는 것을 확인하였다.

 

그렇다면 스마트컨트렉트를 작성하고 나서 테스트 코드를 작성하고. 실제 배포 전에 사용되는 가스비를 업데이트 하고 관리하려면?

 

상용화된 가스비를 계산해주는 api를 하나가져와서 실제 작성한 함수의 가스비를 곱해주면 되는 것이다.

 

https://www.npmjs.com/package/eth-gas-reporter

 

eth-gas-reporter

Mocha reporter which shows gas used per unit test.. Latest version: 0.2.25, last published: 2 months ago. Start using eth-gas-reporter in your project by running `npm i eth-gas-reporter`. There are 21 other projects in the npm registry using eth-gas-report

www.npmjs.com

일단 이 모듈이 있다. 근데 사용하려 하니 잘 되지 않는다. 이유는 하드햇을 사용하기 때문에

그럴 경우 사용가능한 모듈이 또 있다.

https://www.npmjs.com/package/hardhat-gas-reporter

 

hardhat-gas-reporter

Hardhat plugin for eth-gas-reporter, a mocha reporter for Ethereum test suites. Latest version: 1.0.8, last published: 3 months ago. Start using hardhat-gas-reporter in your project by running `npm i hardhat-gas-reporter`. There are 40 other projects in th

www.npmjs.com

바로 하드햇 가스 리포터 

 

hardhat.cofig.ts에서 아래 구문 써주고

import "hardhat-gas-reporter"

그다음에 설정값 넣어주면 된다.

module.exports = {
  gasReporter: {
    currency: 'USD',
    gasPrice: 21
  }
}

여기서 gasPrice의 경우 체인에 따라 다르게 지정해주면 된다.

 

옵션을 보니 코인마켓캡이나 이더스캔에서도 APIKEY만 사용하면 되는것 같다.

728x90
반응형
Comments