base/withdrawer được TopGit xếp vào nhóm dự án mã nguồn mở, với 537 sao trên GitHub, viết chủ yếu bằng Go. Golang utility for proving and finalizing withdrawals from op-stack chains.
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Golang utility for proving and finalizing ETH withdrawals from op-stack chains.
Installation
git clone https://github.com/base/withdrawer.git
cd withdrawer
go install .
Usage
[!CAUTION]
Do not send ERC-20 or other tokens to the L2StandardBridge, only native ETH is supported.
Without Fault Proofs
Step 1
Initiate a withdrawal on L2 by sending ETH to the L2StandardBridge contract at 0x4200000000000000000000000000000000000010, and note the tx hash.
Example on Base Sepolia: 0x5e47346867cf87d8e8c82cae1d30a94b8d5587dc9d354aef5c5a7b4c84ad9463.
[!NOTE]
Users are required to wait for a period of seven days when moving assets out of Base mainnet into the Ethereum mainnet. This period of time is called the Challenge Period and serves to help secure the assets stored on Base mainnet.
Completed withdrawal for 0xc4055dcb2e4647c37166caba8c7392625c2b62f9117a8bc4d96270da24b38f13: 0x1c457f1992f48f1f959ceaee5b3c7e699a26f6f05d93997d49dafe703fd66dea
waiting for tx confirmation
0x1c457f1992f48f1f959ceaee5b3c7e699a26f6f05d93997d49dafe703fd66dea confirmed
Note: this can be called from any L1 address, it does not have to be the same address that initiated the withdrawal on the L2.
With Fault Proofs
[!NOTE]
With the recent fault proofs upgrade for Base on Sepolia testnet, withdrawals are required to wait for a period of seven days. This mirrors the Challenge Period that exists for Base mainnet. Additionally, withdrawals are required to be finalized against dispute games that resolve in favor of the output root claim. If the dispute game is blacklisted, resolves against the output root claim (challenger wins), or the respected game type is changed, then the withdrawal will need to be re-proven.
Step 1
Initiate a withdrawal on L2 by sending ETH to the L2StandardBridge contract at 0x4200000000000000000000000000000000000010, and note the tx hash.
Example on Base Sepolia: 0x5e47346867cf87d8e8c82cae1d30a94b8d5587dc9d354aef5c5a7b4c84ad9463.
Proved withdrawal for 0xc4055dcb2e4647c37166caba8c7392625c2b62f9117a8bc4d96270da24b38f13: 0x6b6d1cc45b6601a30646847f638847feb629221ee71bbe6a3de7e6d0fbfe8fad
waiting for tx confirmation
0x6b6d1cc45b6601a30646847f638847feb629221ee71bbe6a3de7e6d0fbfe8fad confirmed
Note: this can be called from any L1 address, it does not have to be the same address that initiated the withdrawal on the L2.
Step 3
[!IMPORTANT]
Unlike the non fault proof withdrawal flow, you MUST use the same address that proved the withdrawal to finalize the withdrawal.
After the dispute game has resolved in favor of the root claim AND the finalization period has elapsed, finalize your withdrawal (same command as above):
Completed withdrawal for 0xc4055dcb2e4647c37166caba8c7392625c2b62f9117a8bc4d96270da24b38f13: 0x1c457f1992f48f1f959ceaee5b3c7e699a26f6f05d93997d49dafe703fd66dea
waiting for tx confirmation
0x1c457f1992f48f1f959ceaee5b3c7e699a26f6f05d93997d49dafe703fd66dea confirmed
Flags
Usage of withdrawer:
-rpc string
Ethereum L1 RPC url
-network string
op-stack network to withdraw.go from (one of: base-mainnet, base-sepolia, op-mainnet, op-sepolia) (default "base-mainnet")
-withdrawal string
TX hash of the L2 withdrawal transaction
-fault-proofs
Use fault proofs withdrawal flow (only for networks that support fault proofs)
-private-key string
Private key to use for signing transactions
-mnemonic string
Mnemonic to use for signing transactions
-ledger
Use ledger device for signing transactions
-hd-path string
Hierarchical deterministic derivation path for mnemonic or ledger (default "m/44'/60'/0'/0/0")
-l2-rpc string
Custom network L2 RPC url
-l2oo-address string
Custom network L2OutputOracle address
-portal-address string
Custom network OptimismPortal address
-dgf-address string
Custom network DisputeGameFactory address (only for networks that support fault proofs)
-asr-address string
Custom network AnchorStateRegistry address (only for networks that support fault proofs)
-gas-limit uint
Gas limit for transactions (overrides automatic estimation)
-gas-price string
Gas price in wei for legacy transactions
-max-fee-per-gas string
Maximum fee per gas in wei for EIP-1559 transactions
-max-priority-fee string
Maximum priority fee per gas in wei for EIP-1559 transactions
-gas-multiplier float
Multiplier for estimated gas limit (default 1.0)
-max-gas-price string
Maximum gas price cap in wei (safety limit to prevent unexpectedly high costs)
Gas Configuration Notes
If no gas flags are provided, the RPC suggested gas price will be logged before submitting transactions
Use --gas-price for legacy transactions OR --max-fee-per-gas and --max-priority-fee for EIP-1559 transactions (not both)
The --gas-multiplier flag multiplies the estimated gas by the specified factor (e.g., 1.1 for 10% buffer)
The --max-gas-price flag acts as a safety cap and will abort the transaction if the gas price exceeds this value
base/withdrawer có 537 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/base/withdrawer. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
base/withdrawer có tag gì không?
Bản đồng bộ chưa ghi nhận topic GitHub nào cho base/withdrawer. GitHub topics hiển thị ở thanh bên phải trang repo — đó là nơi đáng kiểm tra nhất.
base/withdrawer có website riêng không?
TopGit chưa ghi nhận URL trang chủ cho base/withdrawer. Phần README ở tab phía trên thường có link demo, hoặc xem mô tả GitHub của repo.
base/withdrawer còn đang phát triển không?
Commit gần nhất trên base/withdrawer là 2 tháng trước (theo timestamp GitHub). Repo có 370 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
base/withdrawer dùng license gì?
base/withdrawer phát hành theo license MIT. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
base/withdrawer viết bằng ngôn ngữ gì?
base/withdrawer chủ yếu viết bằng Go. Trường "language" của GitHub dựa trên phần lớn byte ở nhánh mặc định.
Đọc thêm về base/withdrawer ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/base/withdrawer là nguồn chính thức.
Đọc đầy đủ README ở tab phía trên.
Vẫn đang phân vân về withdrawer?
Một cú bấm sẽ gửi câu hỏi kèm trang này cho AI — xem AI nói gì về withdrawer.