일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 머신러닝기초
- 스마트컨트렉트 예약어 함수이름 중복
- chainlink 설명
- 컨트렉트 배포 자동화
- Vue
- 러스트 기초 학습
- 러스트 기초
- ethers v6
- vue기초
- ethers
- 체인의정석
- 스마트컨트렉트프록시
- multicall
- 컨트렉트 동일한 함수이름 호출
- nest.js설명
- git rebase
- 프록시배포구조
- 스마트 컨트렉트 함수이름 중복
- 러스트기초
- ethers type
- SBT표준
- ambiguous function description
- 스마트컨트렉트 함수이름 중복 호출
- rust 기초
- ethers websocket
- 오블완
- 티스토리챌린지
- Vue.js
- 스마트컨트렉트테스트
- ethers typescript
Archives
- Today
- Total
체인의정석
스마트컨트렉트 가스비 손쉽게 측정하기 본문
728x90
반응형
EIP 1559 업데이트 이후 가스비 계산 방법이 매우 복잡해졌다.
근데 생각보다 해결방법은 간단한데 그 이유는 가스비를 계산해주는 모듈들이 나온 가스비에 곱하면 되는 가스비 상수들을 모두 실시간으로 지원해 주기 때문이다.
실제로 메인네트워크 배포까지 했는데 예측 가스비와 거의 근접한 값이 나오는 것을 확인하였다.
그렇다면 스마트컨트렉트를 작성하고 나서 테스트 코드를 작성하고. 실제 배포 전에 사용되는 가스비를 업데이트 하고 관리하려면?
상용화된 가스비를 계산해주는 api를 하나가져와서 실제 작성한 함수의 가스비를 곱해주면 되는 것이다.
https://www.npmjs.com/package/eth-gas-reporter
일단 이 모듈이 있다. 근데 사용하려 하니 잘 되지 않는다. 이유는 하드햇을 사용하기 때문에
그럴 경우 사용가능한 모듈이 또 있다.
https://www.npmjs.com/package/hardhat-gas-reporter
바로 하드햇 가스 리포터
hardhat.cofig.ts에서 아래 구문 써주고
import "hardhat-gas-reporter"
그다음에 설정값 넣어주면 된다.
module.exports = {
gasReporter: {
currency: 'USD',
gasPrice: 21
}
}
여기서 gasPrice의 경우 체인에 따라 다르게 지정해주면 된다.
옵션을 보니 코인마켓캡이나 이더스캔에서도 APIKEY만 사용하면 되는것 같다.
728x90
반응형
'블록체인 > Solidity' 카테고리의 다른 글
web3.utils.soliditySha3 와 ethers.utils.solidityKeccak256 (0) | 2022.06.22 |
---|---|
기존 소스를 실행 시킬 경우 오래된 오픈 제플린 코드 버전 맞추기 (0) | 2022.06.22 |
truffle 활용법) ABI 파일 추출하여 이미 배포된 컨트렉트와 상호작용하기 (0) | 2022.05.23 |
컨트렉트에서 데이터 encode 및 decode 하기 (0) | 2022.05.22 |
Solidity에서 bytes와 bytes32의 유즈케이스 및 활용 문법 (0) | 2022.05.18 |
Comments