DepositReceiver factory + batchCollect — N개 개별 collectOne vs 1회 배치 집금 가스 비교 (anvil · Sepolia)
입금 주소 N개(DepositReceiver)에 쌓인 ERC20/ETH를 collector가
treasury로 회수합니다. 베이스라인은 collectOne N회의
gasUsed 합이고, 배치는 batchCollect 1회입니다.
collectOneERC20 (각각 별도 tx)batchCollectERC20collectOneETH (각각 별도 tx)batchCollectETH| N | ERC20 개별 합 | ERC20 배치 | ERC20 절감% | ETH 개별 합 | ETH 배치 | ETH 절감% |
|---|---|---|---|---|---|---|
| 결과 로딩 중… | ||||||
로딩…
| N | ERC20 개별 합 | ERC20 배치 | ERC20 절감% | ETH 개별 합 | ETH 배치 | ETH 절감% |
|---|---|---|---|---|---|---|
| 결과 로딩 중… | ||||||
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을 스킵할 수 있습니다.
DepositFactory / DepositReceiver — N:1 Omnibus 집금 PoC (MIT)cast send --json receipt gasUsed