← 返回
AI智能 中文

OpenScan Crypto

Navigate and query crypto networks via OpenScan infrastructure. Use when the user asks about blockchain data — balances (ETH, ERC20, BTC), blocks, transactio...
通过OpenScan基础设施查询加密网络区块链数据,如余额(ETH、ERC20、BTC)、区块、交易等。
josealoha666
AI智能 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 649
下载
💾 30
安装
1
版本
#latest

概述

OpenScan Crypto Network Skill

Navigate and query crypto networks using OpenScan's infrastructure. Data comes from @openscan/metadata (CDN) and @openscan/network-connectors (RPC).

CLI Location

skills/openscan-crypto/scripts/crypto-cli.mjs

Run with: node /scripts/crypto-cli.mjs [args]

Metadata Commands

List networks

crypto-cli.mjs networks

List RPC endpoints

crypto-cli.mjs rpcs <chain>              # All public RPCs
crypto-cli.mjs rpcs <chain> --private    # Only tracking:none RPCs

Look up token

crypto-cli.mjs token <symbol|address>                # Search all mainnets
crypto-cli.mjs token <symbol|address> --chain <chain> # Specific chain

Event signatures

crypto-cli.mjs events [--chain <chain>]     # List known events
crypto-cli.mjs decode-event <topic_hash>    # Decode one topic

Labeled addresses & profiles

crypto-cli.mjs addresses [--chain <chain>]
crypto-cli.mjs profile networks ethereum
crypto-cli.mjs profile apps openscan

RPC Management Commands

RPCs are persisted in ~/.config/openscan-crypto/rpc-config.json. On first use, the skill auto-fetches from @openscan/metadata and selects privacy-first RPCs. All subsequent commands use the persisted config.

Fetch/sync RPCs from metadata

crypto-cli.mjs rpc-fetch                # Sync all networks from @openscan/metadata
crypto-cli.mjs rpc-fetch ethereum       # Sync a specific network

Resolves the latest metadata version dynamically from npm. Auto-selects RPCs (privacy-first, open-source preferred).

List RPCs

crypto-cli.mjs rpc-list ethereum              # Show active (configured) RPCs
crypto-cli.mjs rpc-list ethereum --all        # Show ALL available RPCs from metadata
crypto-cli.mjs rpc-list ethereum --all --private  # Only privacy (tracking:none)

Configure RPCs

crypto-cli.mjs rpc-set ethereum --strategy race         # Set strategy: fallback|race|parallel
crypto-cli.mjs rpc-set ethereum --add https://my-rpc.com  # Add custom RPC
crypto-cli.mjs rpc-set ethereum --remove https://rpc.com  # Remove an RPC
crypto-cli.mjs rpc-set ethereum --rpcs url1 url2 url3   # Replace all RPCs
crypto-cli.mjs rpc-set ethereum --private-only           # Keep only tracking:none
crypto-cli.mjs rpc-set ethereum --reset                  # Reset to metadata defaults
crypto-cli.mjs rpc-set --default-strategy parallel       # Set global default strategy
crypto-cli.mjs rpc-set --max-rpcs 3                      # Set global max RPCs per network

Reorder RPCs

crypto-cli.mjs rpc-order ethereum --benchmark            # Auto-sort by latency (fastest first)
crypto-cli.mjs rpc-order ethereum --swap 1 3             # Swap positions 1 and 3
crypto-cli.mjs rpc-order ethereum <url> --position 1     # Move URL to position 1

Test/benchmark RPCs

crypto-cli.mjs rpc-test ethereum              # Test all configured RPCs
crypto-cli.mjs rpc-test ethereum --all        # Test ALL available from metadata
crypto-cli.mjs rpc-test ethereum <url>        # Test a specific URL

Tests latency, block number, client version. Detects out-of-sync nodes via block delta.

View/set default strategy

crypto-cli.mjs rpc-strategy                   # View defaults + per-network overrides
crypto-cli.mjs rpc-strategy parallel           # Set global default to parallel

Address Info Command

Aggregate address information

crypto-cli.mjs address-info <address>              # Full address info
crypto-cli.mjs address-info vitalik.eth            # ENS name supported
crypto-cli.mjs address-info <address> --chain base # On another chain
crypto-cli.mjs address-info <address> --private    # Privacy RPCs only

Returns in a single call:

  • type: EOA or contract (with codeSize if contract)
  • balance: native balance (ETH/MATIC/BNB, etc.)
  • txCount: total transaction count (nonce)
  • ensName: primary ENS name via reverse lookup (Ethereum mainnet only)
  • label: metadata label if the address is a known entity (name, tags, description, website)
  • explorerLink: direct link to the OpenScan explorer

This command fires balance, code, and nonce in parallel, then enriches the result with ENS reverse resolution and metadata label lookup.

Price Commands

On-chain token price (100% on-chain, no CoinGecko)

crypto-cli.mjs price                    # ETH price (default)
crypto-cli.mjs price BTC                # BTC price (via WBTC pools on mainnet)
crypto-cli.mjs price --chain polygon    # MATIC price
crypto-cli.mjs price --chain bnb        # BNB price
crypto-cli.mjs price --chain arbitrum   # ETH price (fetched from mainnet for L2s)

Fetches prices from Uniswap V2-style DEX pools. Uses median of multiple pools for manipulation resistance. Returns per-pool breakdown.

Decode transaction (function call + events)

crypto-cli.mjs decode-tx <0xhash>                  # Decode function + events
crypto-cli.mjs decode-tx <0xhash> --chain arbitrum  # On another chain

Decodes transaction input data into human-readable function name + parameters. Also decodes all event logs in the receipt. Uses local database of known selectors + 4byte.directory fallback. Identifies tx type: transfer, contract_call, or contract_creation.

Strategies:

  • fallback — Try RPCs in order, move to next on failure. Default. Most conservative.
  • race — Fire all RPCs simultaneously, use fastest response. Best for latency.
  • parallel — Fire all, compare results, detect inconsistencies. Trustless verification.

EVM Query Commands

All EVM commands accept --chain (default: ethereum) and --private (use tracking:none RPCs only).

Check balance

crypto-cli.mjs balance <address>                           # Native balance (ETH)
crypto-cli.mjs balance vitalik.eth                          # ENS name supported
crypto-cli.mjs balance <address> --token USDC              # + ERC20 balance
crypto-cli.mjs balance <address> --chain arbitrum           # On Arbitrum
crypto-cli.mjs balance <address> --token USDC --chain base  # USDC on Base

Returns native balance in human-readable format (e.g., "32.12 ETH") plus raw wei. Token balance includes symbol, decimals, and formatted amount.

Multi-chain balance

crypto-cli.mjs multi-balance <address>                     # All mainnet chains
crypto-cli.mjs multi-balance vitalik.eth                    # ENS supported
crypto-cli.mjs multi-balance <address> --private           # Privacy RPCs only

Queries the same address across ALL mainnet EVM chains in parallel. Shows balances sorted by chains with funds first.

Get block info

crypto-cli.mjs block                    # Latest block
crypto-cli.mjs block latest             # Same
crypto-cli.mjs block 19000000           # By number
crypto-cli.mjs block 0xabcdef...        # By hash (66 chars)

Returns: number, hash, timestamp, gasUsed, gasLimit, baseFee, txCount, miner.

Transaction details

crypto-cli.mjs tx <0xhash>
crypto-cli.mjs tx <0xhash> --chain arbitrum

Returns: hash, blockNumber, from, to, value (in ETH), gasPrice, nonce, input data.

Transaction receipt

crypto-cli.mjs receipt <0xhash>

Returns: status (success/reverted), gasUsed, effectiveGasPrice, contract address (if deploy), logs with decoded event names from metadata.

Gas prices

crypto-cli.mjs gas                      # Ethereum gas
crypto-cli.mjs gas --chain base         # Base gas
crypto-cli.mjs gas --chain arbitrum     # Arbitrum gas

Returns: gasPrice, maxPriorityFeePerGas, baseFee — all in gwei.

Read contract (eth_call)

crypto-cli.mjs call <to_address> <calldata_hex> [--block <tag>]

For raw contract reads. Use for custom ABI calls.

Event logs

crypto-cli.mjs logs --address <contract> --topic <topic_hash> [--from <block>] [--to <block>]

Returns up to 50 logs. Default range: latest block only.

Check if address is contract

crypto-cli.mjs code <address>

Returns: isContract (bool), codeSize, truncated bytecode.

Transaction count (nonce)

crypto-cli.mjs nonce <address>

Bitcoin Commands

Bitcoin queries use the mempool.space REST API (no JSON-RPC needed).

Blockchain overview

crypto-cli.mjs btc-info

Returns: block height, best hash, difficulty, mempool stats, recommended fees — all in one call.

Block details

crypto-cli.mjs btc-block                # Latest block
crypto-cli.mjs btc-block 800000         # By height
crypto-cli.mjs btc-block 0000000...     # By hash (64 chars)

Transaction details

crypto-cli.mjs btc-tx <txid>

Returns: confirmation status, fee (sats + BTC), fee rate (sat/vB), inputs/outputs with addresses and values.

Mempool state

crypto-cli.mjs btc-mempool

Returns: tx count, vsize, total fees, recommended fee rates, 5 most recent txs.

Fee estimates

crypto-cli.mjs btc-fee

Returns: fastest, halfHour, hour, economy, minimum — all in sat/vB.

Address balance

crypto-cli.mjs btc-address <address>

Returns: balance (BTC + sats), total received/sent, tx count, UTXO count.

Chain Aliases

AliasChain IDNetwork
--------------------------
ethereum, eth, mainnet1Ethereum
optimism, op10Optimism
bnb, bsc56BNB Smart Chain
polygon, matic, pol137Polygon
base8453Base
arbitrum, arb42161Arbitrum One
sepolia11155111Sepolia Testnet
bitcoin, btcbip122:...Bitcoin Mainnet

Numeric chain IDs also work (e.g., 1, 42161).

Output

All commands output JSON to stdout. The agent can parse and format as needed.

Numeric values are pre-formatted:

  • Balances: human-readable (e.g., "32.12 ETH") + raw wei
  • Gas: in gwei
  • Timestamps: ISO 8601
  • Hex numbers: converted to decimal strings

Explorer Links

EVM commands that return on-chain entities include an explorerLink field with a direct URL to openscan.eth.link:

CommandexplorerLink points to
---------------------------------
balanceaddress page
multi-balanceaddress page per chain
blockblock page
txtransaction page
receipttransaction page
codeaddress page
nonceaddress page
tokentoken contract address page
logstransaction page per log
btc-blockBitcoin block page
btc-txBitcoin transaction page
btc-addressBitcoin address page
address-infoaddress page

URL patterns:

  • EVM: https://openscan.eth.link/#/{chainId}/{type}/{id}
  • Bitcoin mainnet: https://openscan.eth.link/#/btc/{type}/{id}
  • Bitcoin testnet4: https://openscan.eth.link/#/tbtc/{type}/{id}

Always show this link to the user so they can explore the data further in the UI.

Caching

Metadata cached in ~/.cache/openscan-crypto/ (6h TTL). RPC responses are NOT cached.

ENS Support

All EVM address commands accept .eth names (e.g., vitalik.eth). ENS is resolved on Ethereum mainnet automatically. Works with: balance, multi-balance, code, nonce.

Security

  • READ-ONLY — no transaction signing, no private key handling
  • Public RPCs — no API keys needed
  • --private flag restricts to tracking:none RPCs
  • Dangerous methods (sendTransaction, etc.) are NOT exposed

Natural Language Mapping

User saysCommand
--------------------
"What's Vitalik's ETH balance?"balance 0xd8dA...96045
"How much USDC does 0x... have on Base?"balance 0x... --token USDC --chain base
"Show the latest Ethereum block"block latest
"What's gas like on Arbitrum?"gas --chain arbitrum
"Look up this transaction"tx 0x...
"Did this tx succeed?"receipt 0x...
"Is 0x... a contract?"code 0x...
"What networks does OpenScan support?"networks
"What's the USDC contract address?"token USDC
"Show privacy-friendly Polygon RPCs"rpcs polygon --private
"Show vitalik.eth balance on all chains"multi-balance vitalik.eth
"What's the latest Bitcoin block?"btc-info or btc-block
"Tell me everything about this address"address-info 0x...
"Is 0x... a wallet or a contract?"address-info 0x...
"What's the ENS name for 0x...?"address-info 0x... (reverse ENS)
"Show me info for vitalik.eth"address-info vitalik.eth
"How full is the Bitcoin mempool?"btc-mempool
"What are Bitcoin fees right now?"btc-fee
"Look up this Bitcoin transaction"btc-tx
"Check Satoshi's balance"btc-address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
"Show Bitcoin block 800000"btc-block 800000

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-30 01:32 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-intelligence

Proactive Agent

halthelobster
将AI智能体从任务执行者升级为主动预判需求、持续优化的智能伙伴。集成WAL协议、工作缓冲区、自主定时任务及实战验证模式。Hal Stack核心组件 🦞
★ 836 📥 213,164
ai-intelligence

ontology

oswalpalash
类型化知识图谱,用于结构化智能体记忆与可组合技能。支持创建/查询实体(人员、项目、任务、事件、文档)及关联...
★ 712 📥 243,858
ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,358 📥 318,424