의존성 없이 4개 체인 지갑 잔액 확인 — chain_balance.py

발행: (2026년 5월 27일 AM 05:03 GMT+9)
5 분 소요
원문: Dev.to

출처: Dev.to

TL;DR: 퍼블릭 RPC 엔드포인트를 이용해 Solana, Ethereum, BSC, Polygon의 네이티브 토큰 및 ERC‑20/ SPL 토큰 잔액을 확인하는 단일 파일 Python CLI 도구입니다. pip 설치 없이 Python 3와 지갑 주소만 있으면 바로 사용할 수 있습니다.

GitHub:

왜 또 다른 잔액 확인기가 필요할까?

대부분의 멀티‑체인 잔액 확인기는 두 가지 유형으로 나뉩니다:

  • 웹 대시보드 – UI는 좋지만 CLI가 없고, 스크립팅·자동화가 불가능합니다.
  • 무거운 SDKethers.js, web3.py, solana-py 등 – 각각 별도의 설치, API 키, 학습 곡선이 필요합니다.

저는 Python 3만 있으면 어느 서버에서든 실행되고, jq와 파이프라인으로 연결하고, 크론 작업에 넣어도 의존성 문제가 전혀 없기를 원했습니다. 그 결과, 바로 사용할 수 있는 278줄짜리 단일 Python 파일이 탄생했습니다.

무엇을 할 수 있나요

# 4개 체인을 한 번에 확인
python3 chain_balance.py --address 0x742d35Cc6634C0532925a3b844Bc1dC3E92bBbb7

# Solana만 확인
python3 chain_balance.py --address 4TGyiYBjaYhFFPNYyCoJjf16ctUsWVBiMR1FXQxEfhWi --chains solana

# jq/쉘 파이프라인용 JSON 모드
python3 chain_balance.py --address 0x... --chains eth,polygon --json | jq '.results[].native'

# 크론 작업용 무음 모드
python3 chain_balance.py --address 0x... --quiet --json > report.json

지원 체인

체인네이티브 토큰RPC 엔드포인트
SolanaSOLapi.mainnet-beta.solana.com
EthereumETHethereum-rpc.publicnode.com
BSCBNBbsc-dataseed1.binance.org
PolygonMATICpolygon-rpc.com

토큰 지원 현황

  • Ethereum: USDT, USDC, LINK, UNI, DAI
  • BSC: USDT, USDC, BUSD, WBNB, CAKE
  • Polygon: USDT, USDC, WMATIC, LINK, WETH
  • Solana: getTokenAccountsByOwner를 이용해 보유 중인 모든 SPL 토큰 자동 탐지

작동 원리

Python 표준 라이브러리 urllib만을 사용해 HTTPS 기반 JSON‑RPC 2.0 호출을 수행합니다. 별도의 HTTP 라이브러리·Web3 SDK·Solana SDK가 전혀 필요 없습니다:

import json, urllib.request

def rpc_call(url, method, params):
    payload = json.dumps({
        "jsonrpc": "2.0",
        "id": 1,
        "method": method,
        "params": params,
    }).encode()
    req = urllib.request.Request(
        url,
        data=payload,
        headers={"Content-Type": "application/json"},
    )
    with urllib.request.urlopen(req, timeout=15) as resp:
        return json.loads(resp.read().decode()).get("result")

Solana의 경우, 토큰 프로그램 ID와 함께 getTokenAccountsByOwner를 호출해 지갑에 존재하는 모든 SPL 토큰을 찾아냅니다. 하드코딩된 리스트에 의존하지 않습니다.

예시 출력

════════════════════════════════════════════════════════
  Multi-Chain Balance Report
  Address: 0x742d35Cc6634C0532925a3b844Bc1dC3E92bBbb7
════════════════════════════════════════════════════════

  ┌── SOLANA ────────────────────────────────
  │ Native: 0.000000 SOL
  │ (no token balances found)
  └─────────────────────────────────────────────

  ┌── ETH ────────────────────────────────────
  │ Native: 0.000000 ETH
  └─────────────────────────────────────────────

사용 사례

  • 크론 작업 모니터링 – 매일 지갑을 확인하고, 잔액이 특정 임계값 이하로 떨어지면 이메일 알림을 보냅니다.
  • 포트폴리오 대시보드--json 출력을 쉘 스크립트에 파이프해 대시보드를 자동 생성합니다.
  • 스왑 사전 점검 – 트랜잭션 전 가스 토큰이 충분한지 검증합니다.
  • CI/CD 헬스 체크 – 파우셋 지갑에 아직 자금이 남아 있는지 확인합니다.

이 도구가 시간이나 비용을 절감했다면, 팁을 주시면 감사하겠습니다:

  • SOL: 4TGyiYBjaYhFFPNYyCoJjf16ctUsWVBiMR1FXQxEfhWi
  • ETH/ERC‑20: 0xe07f177E0725c11EEc8BeA34C5b5193CaF2a1A6a

앞으로의 계획

이 프로젝트는 neuralmint CLI Tools 시리즈의 일부입니다. 시리즈에 포함된 이전 도구들:

  • wallet_tracker.py – 트랜잭션 히스토리 추적기
  • token_info.py – 토큰 메타데이터 조회
  • crypto_sentiment.py – 소셜 피드 기반 감성 분석
  • crypto_news.py – 암호화폐 뉴스 집계

모든 도구는 단일 파일이며 MIT 라이선스를 갖고, 의존성이 전혀 없습니다.

Python 3 표준 라이브러리만 사용해 제작되었습니다. npm, pip, 불필요한 부피가 없습니다.

0 조회
Back to Blog

관련 글

더 보기 »