Skip to content
Back to skills

2032 Ard 962f862f

ASecurity

Script Automation with Multi-Provider Fallback

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
toolspythongonodeapisecurity

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 2032-ard_962f862f --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2032 Ard 962f862f?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2032 Ard 962f862f
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2032-ard-962f862f/badge)](https://www.skillsdirectory.com/skills/tools-only-2032-ard-962f862f)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# ARD: Blockchain Explorer CLI

## Architectural Overview

### Pattern
Script Automation with Multi-Provider Fallback

### Architecture Diagram
```
┌─────────────────────────────────────────────────────────────────┐
│                     User Request                                 │
│         "explore tx 0xabc..." / "check balance 0x123"           │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                   blockchain_explorer.py                         │
│  ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌──────────────┐ │
│  │ tx_query   │ │ addr_query │ │ block_query│ │contract_query│ │
│  └────────────┘ └────────────┘ └────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                     chain_client.py                              │
│  ┌─────────────────────────────────────────────────────────────┐│
│  │ ChainClient: Multi-chain RPC + Explorer API abstraction     ││
│  │   - Ethereum (Etherscan + Infura)                           ││
│  │   - Polygon (Polygonscan + RPC)                             ││
│  │   - BSC (BSCScan + RPC)                                     ││
│  │   - Arbitrum, Optimism, Base, Avalanche                     ││
│  └─────────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────────┘
                              │
              ┌───────────────┼───────────────┐
              ▼               ▼               ▼
       ┌───────────┐   ┌───────────┐   ┌───────────┐
       │ Etherscan │   │   Infura  │   │ CoinGecko │
       │    API    │   │    RPC    │   │    API    │
       └───────────┘   └───────────┘   └───────────┘
```

### Workflow
1. Parse user query (tx hash, address, block number, contract call)
2. Detect chain from address/hash prefix or explicit parameter
3. Route to appropriate chain client
4. Fetch data from RPC + Explorer API
5. Enrich with prices, token metadata, decoded data
6. Format and display results

## Progressive Disclosure Strategy

| Level | Content | Location |
|-------|---------|----------|
| L1: Quick Start | CLI examples, common queries | SKILL.md |
| L2: Configuration | API keys, chain endpoints | config/settings.yaml |
| L3: Implementation | Multi-chain routing, caching | references/implementation.md |
| L4: Advanced | Custom RPC, ABI decoding | references/examples.md |

## Directory Structure

```
skills/exploring-blockchain-data/
├── SKILL.md                    # Core instructions
├── PRD.md                      # Product requirements
├── ARD.md                      # Architecture (this file)
├── scripts/
│   ├── blockchain_explorer.py  # Main CLI
│   ├── chain_client.py         # Multi-chain abstraction
│   ├── tx_decoder.py           # Transaction decoding
│   ├── token_resolver.py       # Token metadata + prices
│   └── formatters.py           # Output formatting
├── references/
│   ├── errors.md               # Error handling
│   ├── examples.md             # Usage examples
│   └── implementation.md       # Implementation details
└── config/
    └── settings.yaml           # Configuration
```

## API Integration Architecture

### Primary: Explorer APIs (Etherscan family)
```python
# Transaction details with internal txs
GET /api?module=account&action=txlist&address={addr}

# Contract ABI for decoding
GET /api?module=contract&action=getabi&address={contract}

# Token transfers
GET /api?module=account&action=tokentx&address={addr}
```

### Secondary: RPC (Infura/Alchemy)
```python
# Real-time balance
eth_getBalance(address, 'latest')

# Transaction receipt
eth_getTransactionReceipt(txHash)

# Contract state
eth_call({to: contract, data: encoded_call}, 'latest')
```

## Data Flow Architecture

```
Input: "explore tx 0xabc123..."
         │
         ▼
┌─────────────────────────┐
│   Parse & Validate      │
│   - Detect query type   │
│   - Validate hash/addr  │
│   - Detect chain        │
└─────────────────────────┘
         │
         ▼
┌─────────────────────────┐
│   Fetch Core Data       │
│   - RPC: tx receipt     │
│   - Explorer: details   │
│   - Decode input data   │
└─────────────────────────┘
         │
         ▼
┌─────────────────────────┐
│   Enrich Data           │
│   - Token metadata      │
│   - USD values          │
│   - Contract names      │
└─────────────────────────┘
         │
         ▼
┌─────────────────────────┐
│   Format Output         │
│   - Table / JSON / CSV  │
│   - Color coding        │
│   - Links to explorers  │
└─────────────────────────┘
```

## Error Handling Strategy

| Error | Cause | Recovery |
|-------|-------|----------|
| Invalid hash | Wrong format | Validate format, suggest correction |
| TX not found | Not mined or wrong chain | Try other chains, check mempool |
| Rate limited | Too many requests | Exponential backoff, rotate keys |
| RPC timeout | Node congestion | Retry with backup RPC |
| Unknown token | Not in registry | Fetch from chain, cache result |

## Caching Strategy

- **Transaction data**: Immutable, cache permanently
- **Block data**: Immutable, cache permanently
- **Address balance**: TTL 30 seconds
- **Token metadata**: TTL 24 hours
- **Prices**: TTL 60 seconds

## Security Considerations

- API keys stored in environment variables only
- No private key handling
- Rate limit compliance
- Input sanitization for all user queries

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…