跳到主要內容

Evm

只讀 EVM 客戶端:支持 8 條鏈上的錢包、代幣和 Gas 查詢。

技能元數據

來源可選 — 使用 hermes skills install official/blockchain/evm 安裝
路徑optional-skills/blockchain/evm
版本1.0.0
作者Mibayy (@Mibayy), youssefea (@youssefea), ethernet8023 (@ethernet8023), Hermes Agent
許可證MIT
平臺linux, macos, windows
標籤EVM, Ethereum, BNB, BSC, Base, Arbitrum, Polygon, Optimism, Avalanche, zkSync, Blockchain, Crypto, Web3, DeFi, NFT, ENS, Whale, Security
相關技能solana

參考:完整 SKILL.md

信息

以下是 Hermes 在觸發此技能時加載的完整技能定義。這是技能激活時代理所看到的指令。

EVM 區塊鏈技能

使用 USD 定價查詢 8 條鏈上兼容 EVM 的區塊鏈數據。 14 個命令:錢包投資組合、代幣信息、交易、活動、Gas 追蹤器、 網絡統計、價格查詢、多鏈掃描、巨鯨檢測、ENS 解析、 授權檢查器、合約檢查器和交易解碼器。

支持 8 條鏈:Ethereum、BNB Chain (BSC)、Base、Arbitrum One、Polygon、 Optimism、Avalanche (C-Chain)、zkSync Era。

無需 API 密鑰。零外部依賴 — 僅使用 Python 標準庫 (urllib, json, argparse, threading)。

取代獨立的 base 技能。 Base 特定代幣(AERO, DEGEN, TOSHI, BRETT, WELL, cbETH, cbBTC, wstETH, rETH)以及此前位於 optional-skills/blockchain/base/ 下的所有 Base RPC 功能均已合併到此技能中。 向任何命令傳遞 --chain base 即可覆蓋 Base 鏈。


何時使用

  • 用戶詢問任何 EVM 鏈上的錢包餘額或投資組合
  • 用戶希望一次性檢查同一錢包在所有鏈上的情況
  • 用戶希望通過哈希檢查交易(或解碼其執行的操作)
  • 用戶希望獲取 ERC-20 代幣的元數據、價格、供應量或市值
  • 用戶希望獲取地址的最近交易歷史
  • 用戶希望獲取當前 Gas 價格或比較各鏈之間的費用
  • 用戶希望在最近的區塊中查找大型巨鯨轉賬
  • 用戶要求解析 ENS 名稱(如 vitalik.eth)或對地址進行反向查找
  • 用戶希望檢查合約是否具有危險的代幣授權
  • 用戶希望檢查智能合約(是代理合約嗎?ERC-20?ERC-721?字節碼大小?)
  • 用戶希望在交易前比較各鏈的 Gas 成本

前置條件

僅需 Python 3.8+ 標準庫。無需 pip 安裝。 定價:CoinGecko 免費 API(有限流,約 10-30 次請求/分鐘)。 ENS:ensideas.com 公共 API。 交易解碼:4byte.directory 公共 API。

覆蓋 RPC 端點:export EVM_RPC_URL=https://your-rpc.com

輔助腳本路徑:~/.hermes/skills/blockchain/evm/scripts/evm_client.py


快速參考

SCRIPT=~/.hermes/skills/blockchain/evm/scripts/evm_client.py

# Network & prices
python3 $SCRIPT stats # Ethereum stats
python3 $SCRIPT stats --chain arbitrum # Arbitrum stats
python3 $SCRIPT compare # Gas + prices ALL 8 chains

# Wallet
python3 $SCRIPT wallet 0xd8dA...96045 # Portfolio (ETH + ERC-20)
python3 $SCRIPT wallet 0xd8dA...96045 --chain bsc
python3 $SCRIPT multichain 0xd8dA...96045 # Same wallet on ALL chains

# Tokens & prices
python3 $SCRIPT price ETH
python3 $SCRIPT price 0xdAC1...1ec7 # By contract address
python3 $SCRIPT token 0xdAC1...1ec7 # ERC-20 metadata + market cap

# Transactions
python3 $SCRIPT tx 0x5c50...f060 # Transaction details
python3 $SCRIPT decode 0x5c50...f060 # Decode input data (4byte.directory)
python3 $SCRIPT activity 0xd8dA...96045 # Recent transactions

# Gas
python3 $SCRIPT gas # Gas prices + cost estimates
python3 $SCRIPT gas --chain optimism

# Security
python3 $SCRIPT allowance 0xd8dA...96045 # Dangerous ERC-20 approvals
python3 $SCRIPT contract 0xdAC1...1ec7 # Contract inspection (proxy? standards?)

# ENS
python3 $SCRIPT ens vitalik.eth # Name -> address + profile
python3 $SCRIPT ens 0xd8dA...96045 # Address -> ENS name

# Whale detection
python3 $SCRIPT whale # Large transfers (last 20 blocks, >$10k)
python3 $SCRIPT whale --blocks 50 --min-usd 100000 --chain arbitrum

流程

0. 設置檢查

python3 --version   # 3.8+ required
python3 ~/.hermes/skills/blockchain/evm/scripts/evm_client.py stats

1. 錢包投資組合

原生餘額 + 已知 ERC-20 代幣,按 USD 價值排序。

python3 $SCRIPT wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
python3 $SCRIPT wallet 0xd8dA... --chain bsc --no-prices # faster

2. 多鏈掃描

使用線程同時掃描所有 8 條鏈上的同一地址。

python3 $SCRIPT multichain 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

輸出:每條鏈的原生餘額 + 代幣持有量 + 總計 USD 價值。

3. 比較(Gas + 價格)

並行查詢所有 8 條鏈。顯示最便宜/最昂貴的鏈。

python3 $SCRIPT compare

4. 交易詳情與解碼

python3 $SCRIPT tx 0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060
python3 $SCRIPT decode 0x5c504ed... # Shows human-readable function signature

解碼使用 4byte.directory 將 0xa9059cbb 轉換為 transfer(address,uint256)。

5. ENS 解析

python3 $SCRIPT ens vitalik.eth          # -> 0xd8dA... + avatar + social links
python3 $SCRIPT ens 0xd8dA...96045 # -> vitalik.eth

6. 授權檢查器(安全)

檢查授予已知 DEX/橋接合約的 ERC-20 授權。

python3 $SCRIPT allowance 0xYourWallet

將無限額(UNLIMITED)授權標記為高風險。

7. 合約檢查器

python3 $SCRIPT contract 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48   # USDC (proxy)
python3 $SCRIPT contract 0xdAC17F958D2ee523a2206206994597C13D831ec7 # USDT (ERC-20)

檢測:代理合約(EIP-1967/EIP-1167)、ERC-20、ERC-721、ERC-165。顯示代理合約的字節碼大小和實現地址。

8. 巨鯨檢測

python3 $SCRIPT whale                                    # ETH, last 20 blocks, >$10k
python3 $SCRIPT whale --blocks 50 --min-usd 50000 --chain bsc

9. Gas 追蹤器

python3 $SCRIPT gas
python3 $SCRIPT gas --chain polygon

顯示以下操作的 gwei 價格 + USD 成本:轉賬、ERC-20 轉賬、授權、交換、NFT 鑄造、NFT 轉賬。


支持的鏈

鍵 (Key)名稱原生代幣鏈 ID
ethereumEthereumETH1
bscBNB ChainBNB56
baseBaseETH8453
arbitrumArbitrum OneETH42161
polygonPolygonPOL137
optimismOptimismETH10
avalancheAvalanche CAVAX43114
zksynczkSync EraETH324

常見陷阱

  • CoinGecko 免費層:約 10-30 次請求/分鐘。使用 --no-prices 以加快錢包掃描速度。
  • 公共 RPC 節點可能會進行限流。在生產環境中,請將 EVM_RPC_URL 設置為私有端點。
  • walletallowance 僅檢查已知代幣列表(每條鏈約 30 個代幣)。如需完整的代幣發現,請使用區塊瀏覽器。
  • activity 僅掃描最近的區塊(最多 200 個)。如需完整歷史記錄,請使用 Etherscan API。
  • multichain 運行 8 個並行線程——可能在公共 RPC 節點上觸發速率限制。
  • ENS 解析依賴於單個公共端點(ensideas.com / ens.vitalik.ca),且無故障轉移機制。如果該端點宕機,ens 命令將失敗——請稍後重試或使用區塊瀏覽器。
  • 交易解碼依賴於單個公共端點(4byte.directory),且無故障轉移機制。其數據庫中未包含的選擇器將顯示為 unknown
  • L2 Gas 估算僅包含 L2 執行部分。 在 Base、Arbitrum、Optimism 和 zkSync 等 Rollup 網絡上,實際交易成本還包括 L1 數據發佈費用,該費用取決於 calldata 大小和當前 L1 Gas 價格。gas 命令不估算該 L1 部分。對於 Base 網絡,請參閱其 L1 費用預言機(合約地址 0x420000000000000000000000000000000000000F)。
  • 地址/交易哈希輸入會驗證 0x 前綴、正確長度和十六進制格式,但不強制要求 EIP-55 校驗和大小寫(RPC 端點接受任意大小寫的十六進制字符串)。

驗證

# Should print current block, gas price, ETH price
python3 ~/.hermes/skills/blockchain/evm/scripts/evm_client.py stats

# Should resolve vitalik.eth to 0xd8dA...
python3 ~/.hermes/skills/blockchain/evm/scripts/evm_client.py ens vitalik.eth