Fee Market — x/feemarket (EIP-1559 BaseFee)
OKRW 가스를 위한 EIP-1559 호환 base fee 시장입니다. 발신자는 base fee와 priority tip을 모두 aokrw로 지불합니다.
마루의 x/feemarket 모듈은 OKRW 가스를 위한 EIP-1559 호환 동적 base fee를 구현합니다. Base fee는 이전 블록의 사용량에 따라 매 블록 조정됩니다. 목표 가스 사용량보다 높으면 base fee가 상승하고, 낮으면 하락합니다. 발신자는 maxFeePerGas와 maxPriorityFeePerGas를 지정해 트랜잭션을 제출하며, 이는 이더리움 메인넷과 정확히 동일합니다. 유일한 차이는 단위가 wei가 아닌 aokrw라는 점입니다. 표준 EVM 툴은 별도 설정 없이 올바른 값을 자동으로 채웁니다.
수수료 부과 방식
PCL을 통과한 각 트랜잭션에 대해 다음과 같이 수수료를 부과합니다.
1. 유효 가스 가격은
2. 총 수수료는
3. 수수료는 두 부분으로 분할됩니다.
- Base fee 부분(
- Priority tip 부분(
발신자가 실제로 지불하는 금액은
1. 유효 가스 가격은
min(maxFeePerGas, baseFee + maxPriorityFeePerGas)로 계산됩니다.2. 총 수수료는
유효 가스 가격 × 사용 가스로 계산되며, aokrw 단위입니다.3. 수수료는 두 부분으로 분할됩니다.
- Base fee 부분(
baseFee × 사용 가스) — 소각됩니다. OKRW를 공급량에서 영구히 제거하여 체인 사용량에 비례하는 디플레이션 압력을 생성합니다.- Priority tip 부분(
(유효 가스 가격 - baseFee) × 사용 가스) — 블록 제안자에게 지급됩니다. 트랜잭션 포함에 대한 보상이며, 이더리움과 동일한 MEV 인센티브를 형성합니다.발신자가 실제로 지불하는 금액은
maxFeePerGas × 사용 가스를 넘지 않습니다. 미사용분은 체인이 환불합니다.툴링 함의 — Hardhat, Foundry, ethers.js
수수료 시장이 EIP-1559 호환이므로 모든 표준 EVM 툴이 수정 없이 작동합니다:
Hardhat의
이전 마루 docs에서
eth_gasPrice는 합리적인 legacy 가스 가격을 반환합니다 (baseFee + 제안된 priority fee로 계산).eth_feeHistory는 이더리움과 동일하게 최근 base fee와 reward percentile의 롤링 윈도우를 반환합니다.eth_maxPriorityFeePerGas는 제안된 priority tip을 반환합니다.
Hardhat의
--network maroo, Foundry의 forge create --rpc-url, ethers.js의 provider.getFeeData()가 maxFeePerGas와 maxPriorityFeePerGas를 올바르게 채웁니다. 커스텀 수수료 전략은 필요하지 않습니다.이전 마루 docs에서
NoBaseFee = true를 본 적이 있다면, 이는 정식 체인에 출시되지 않은 초기 프로토타입 설정이었습니다. 현재 활성 설정은 BaseFee가 활성화된 x/feemarket을 사용합니다.파라미터 가시성과 조정
x/feemarket은 표준 EIP-1559 파라미터를 온체인 모듈 파라미터로 노출합니다.base_fee— 현재 base fee(aokrw단위)입니다. 매 블록 자동으로 조정되며,eth_gasPrice로 읽어올 수 있습니다.min_gas_price— base fee가 하락하지 않는 하한이며, 거버넌스로 통제됩니다.elasticity_multiplier,base_fee_change_denominator— base fee가 가스 사용량에 얼마나 공격적으로 조정될지 제어하며, 거버넌스로 통제됩니다.
일상적인 dapp 작업에서는
base_fee만 필요하며, 표준 JSON-RPC가 이를 제공합니다. 다른 파라미터는 체인 운영자가 수수료 반응성을 튜닝하는 노브입니다.