ネイティブパーサー — マルチチェーン残高チェッカー
概要
Native-Parserは、Ethereum系(Ethereum、Optimism、Arbitrum、Base、Polygon)とBSC(BNBチェーン)を含む6つのチェーン上で、指定したウォレットアドレス群のネイティブトークン残高を取得するPython製のツールです。複数のRPCを並列的に利用可能で、必要に応じてHTTPプロキシを経由したリクエストもサポートします。取得した結果はpandasを用いてbalances.xlsxとして保存され、手早く総資産を把握したい場面に向きます。外部の大規模ライブラリや重いインフラを必要としないため、ローカル実行・小規模運用に適しています(約300字)。
リポジトリの統計情報
- スター数: 14
- フォーク数: 3
- ウォッチャー数: 14
- コミット数: 7
- ファイル数: 4
- メインの言語: Python
主な特徴
- マルチチェーン対応:Ethereum、Optimism、Arbitrum、Base、BSC、Polygonのネイティブトークンを対象
- 複数RPCとプロキシ指定による堅牢性:RPCの切替やプロキシ経由でリクエスト可能
- 結果をExcelに出力:balances.xlsxで集計・共有が容易
- 必要最小限の依存関係:web3、pandas、openpyxl、requestsのみ
技術的なポイント
Native-Parserは設計としてシンプルさと実用性を重視しています。主要な技術スタックはweb3.pyによるRPC呼び出しとpandasによるデータフレーム操作で、ネイティブトークン残高の取得は各チェーンのJSON-RPC eth_getBalance(またはそれに準じるエンドポイント)を使用するのが基本です。複数のRPCをリスト化しておき、接続失敗時にフォールバックする処理や、プロキシ設定(proxy.txtから読み込み)が可能なため、RPCの到達性やレートリミットに対する耐性があります。スクリプトはアドレス一覧(wallet.txt)を読み込んでループ処理し、各チェーンごとに残高を取得してパース、Ether単位への変換(単位換算)を行ってpandasのDataFrameに格納します。最後にopenpyxlを介してExcelファイルに保存するフローは、データの可搬性と可視化のしやすさを意図しています。
実装上の注意点としては、短時間で大量のRPCリクエストを送るとプロバイダ側で制限を受けるため、スリープやリトライ戦略、RPC選択ロジックを組み込むと良い点です。また、チェーンごとにRPCのURLやチェーンIDを分けて管理できる設計が望ましく、将来的に別のチェーンやトークン(ERC-20等)を追加する場合は、ABI呼び出しやコントラクト参照の仕組みを拡張すれば対応可能です。セキュリティ面では、wallet.txtやproxy.txtに秘密鍵を置かないこと、RPCエンドポイントに機密情報を渡さないことが基本です。本リポジトリは外部APIキーの管理や並列制御(asyncioやマルチスレッド)を最低限にとどめているため、より大規模な運用では接続プーリングや非同期化、監視の追加を検討してください。(約700〜1200字の技術説明)
プロジェクトの構成
主要なファイルとディレクトリ:
- README.md: file
- main.py: file
- proxy.txt: file
- wallet.txt: file
まとめ
シンプルで使いやすいマルチチェーン残高チェッカー。小規模なウォレット監視に最適です(約50字)。
リポジトリ情報:
- 名前: Native-Parser
- 説明: 説明なし
- スター数: 14
- 言語: Python
- URL: https://github.com/edotoday/Native-Parser
- オーナー: edotoday
- アバター: https://avatars.githubusercontent.com/u/103640186?v=4
READMEの抜粋:
Balance Checker for Multi-Chain Wallets
A Python script that checks native token balances (ETH, BNB, POL) across 6 blockchains: Ethereum, Optimism, Arbitrum, Base, BSC, Polygon — using multiple RPCs and optional proxies. Outputs results to balances.xlsx.Required Packages (install via pip)bash
pip install web3 pandas openpyxl requests
No external repositories nee…