anvil 로컬 Sepolia 실측 PoC · 드라이런 CDP 키 불필요

N:1 배치 집금 PoC

DepositReceiver factory + batchCollect — N개 개별 collectOne vs 1회 배치 집금 가스 비교 (anvil · Sepolia)

anvil N —
anvil ERC20 최대 절감 —
Sepolia N —
Sepolia ERC20 최대 절감 —

시나리오

입금 주소 N개(DepositReceiver)에 쌓인 ERC20/ETH를 collector가 treasury로 회수합니다. 베이스라인은 collectOne N회의 gasUsed 합이고, 배치는 batchCollect 1회입니다.

ERC20

  • 개별: N× collectOneERC20 (각각 별도 tx)
  • 배치: 1× batchCollectERC20

ETH

  • 개별: N× collectOneETH (각각 별도 tx)
  • 배치: 1× batchCollectETH

가스 비교 표 (anvil 실측)

N ERC20 개별 합 ERC20 배치 ERC20 절감% ETH 개별 합 ETH 배치 ETH 절감%
결과 로딩 중…
출처: bench/results/summary.json

재현 명령

anvil (로컬)

forge install && forge build
bash bench/run_bench.sh
# 또는 N_VALUES=10,50,100 python3 bench/run_bench.py

Sepolia (Alchemy) — 본인 RPC/키를 env로만 주입 (커밋 금지)

export RPC="https://eth-sepolia.g.alchemy.com/v2/<redacted>"
export PRIVATE_KEY=0x...   # 테스트넷 전용
export SKIP_ANVIL=1 N_VALUES=10,50,100 AMOUNT=1 OUT_NAME=sepolia_summary.json
python3 bench/run_bench.py

메인넷·CDP 자격 증명은 사용하지 않습니다. Sepolia는 잔고에 따라 일부 N을 스킵할 수 있습니다.

출처 · 고지