[BlockChain] gasPrice 상승 이슈

2023. 12. 5. 10:59·개발/BlockChain
728x90
반응형

트랜잭션의 수수료는 gas의 가격과 사용된 gas를 기반으로 계산을 한다.
트랜잭션 type1의 경우에는 gasPrice * gasLimit 으로 수수료가 결정된다.

전에 사용하던 네트워크는 충분한 거래가 이루어지고 블록이 있다보니까 gasPrice의 가격이 안정화 되어있었기 때문에 gasPrice에 대한 이슈가 없었다.

새로 네트워크 생성 후 gasPrice를 기존의 2배로 여유를 주고 트랜잭션을 날릴때마다 gasPrice가 계속 올라갔다.

ethereum 공식문서를 찾아보니 gasPrice는 마지막 100개 블록의 중간값으로 결정한다고 한다.

그래서 네트워크의 최소 gasPrice를 1gwei로 설정하고 트랜잭션을 날릴때 gasPrice는 1gwei로 고정하고 사용했다.

estimateGas를 통해서 몇개의 gas를 사용할지 예측한 후 이 값의 2배를 gasLimit으로 사용했다.

그럼 수수료는 [gasPrice * 실제 사용된 gas개수] 로 계산된다.

이를 활용하여 클라이언트에 보여주는 예상 수수료와 실제 보내는 gasLimit의 양을 다르게 조절했다.

1. 클라이언트에게 보여주는 수수료

  • GasPrice * EstimateGas

2. 실제 트랜잭션에 보내는 수수료

  • GasPrice * (EstimateGas * 2)*

클라이언트에게는 예상 수수료보다 조금 더 나올수 있다는 문구로 알려주고 실제는 가스때문에 트랜잭션이 실패하지 않도록 위와 같이 설정했다.

728x90
반응형

'개발 > BlockChain' 카테고리의 다른 글

[Blockchain] ZK - Noir 시작해보기  (2) 2025.07.01
[BlockChain] ZK(Zero-Knowledge Proof)란 무엇인가?  (0) 2025.06.29
[Blockchain] Klaytn WebSocket 끊김 후 재연결 (spring boot)  (0) 2023.08.15
[Blockchain] 언어별 web3 차이로 트랜잭션 해시값 차이  (0) 2023.08.08
[Blockchain] web3j 에서 nonce값 동시성 해결  (3) 2023.08.07
'개발/BlockChain' 카테고리의 다른 글
  • [Blockchain] ZK - Noir 시작해보기
  • [BlockChain] ZK(Zero-Knowledge Proof)란 무엇인가?
  • [Blockchain] Klaytn WebSocket 끊김 후 재연결 (spring boot)
  • [Blockchain] 언어별 web3 차이로 트랜잭션 해시값 차이
TeTedo.
TeTedo.
  • TeTedo.
    TeTedo 개발 일기
    TeTedo.
  • 전체
    오늘
    어제
    • 분류 전체보기 (319)
      • 개발 (274)
        • Article (4)
        • 정리 (21)
        • Spring Boot (17)
        • JPA (2)
        • JAVA (6)
        • Database (4)
        • 자료구조 (11)
        • 알고리즘 (32)
        • React (20)
        • Docker (10)
        • node.js (18)
        • Devops (11)
        • Linux (4)
        • TypeScript (3)
        • Go (10)
        • HyperLedger (4)
        • BlockChain (43)
        • html, css, js (48)
        • CS (3)
        • AWS (3)
      • 모아두고 나중에 쓰기 (3)
      • 팀프로젝트 (18)
        • SNS(키보드워리어) (9)
        • close_sea (9)
      • 개인프로젝트 (1)
        • Around Flavor (1)
        • CHAM (13)
        • ethFruitShop (5)
      • 독서 (0)
        • 스프링부트와 AWS로 혼자 구현하는 웹 서비스 (0)
  • 블로그 메뉴

    • 홈
    • 개발일기
    • CS
    • 실습
    • 코딩테스트
    • 웹
    • Go
    • node.js
    • 팀플
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    mysql
    컨테이너
    nodejs
    node
    html
    CSS
    js
    도커
    go언어
    go
    명령어
    프로그래머스
    블록체인
    node.js
    React
    ERC721
    erc20
    30일 챌린지
    하이퍼레저
    30일챌린지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
TeTedo.
[BlockChain] gasPrice 상승 이슈
상단으로

티스토리툴바