jpskill.com
🛠️ 開発・MCP コミュニティ

ethers-js

ethers.jsは、ユーザーがイーサリアムやEVMブロックチェーンに接続し、ブロックチェーンデータの読み取り、トランザクションの送信、スマートコントラクトとの連携、dAppフロントエンドの構築などを実現するSkill。

📜 元の英語説明(参考)

Interact with Ethereum and EVM blockchains using ethers.js. Use when a user asks to connect to Ethereum, read blockchain data, send transactions, interact with smart contracts, or build a dApp frontend.

🇯🇵 日本人クリエイター向け解説

一言でいうと

ethers.jsは、ユーザーがイーサリアムやEVMブロックチェーンに接続し、ブロックチェーンデータの読み取り、トランザクションの送信、スマートコントラクトとの連携、dAppフロントエンドの構築などを実現するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o ethers-js.zip https://jpskill.com/download/14873.zip && unzip -o ethers-js.zip && rm ethers-js.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/14873.zip -OutFile "$d\ethers-js.zip"; Expand-Archive "$d\ethers-js.zip" -DestinationPath $d -Force; ri "$d\ethers-js.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して ethers-js.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → ethers-js フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

ethers.js

概要

ethers.js は、Ethereum および EVM 互換のブロックチェーン (Polygon, Arbitrum, Base, BSC) とのやり取りにおいて最も普及しているライブラリです。ウォレット接続、コントラクトとのやり取り、トランザクション署名、ブロックチェーンクエリを処理します。

手順

ステップ 1: セットアップ

npm install ethers

ステップ 2: ブロックチェーンデータの読み取り

// lib/ethereum.ts — 読み取り専用のブロックチェーンアクセス
import { ethers } from 'ethers'

// Ethereum に接続 (読み取り専用)
const provider = new ethers.JsonRpcProvider('https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY')

// ETH 残高を取得
const balance = await provider.getBalance('0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18')
console.log(ethers.formatEther(balance))    // "1.234"

// 現在のブロックを取得
const block = await provider.getBlockNumber()

// トランザクションを取得
const tx = await provider.getTransaction('0x...')

ステップ 3: スマートコントラクトとのやり取り

// コントラクトから読み取り (ウォレットは不要)
const USDC_ADDRESS = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
const ERC20_ABI = [
  'function balanceOf(address) view returns (uint256)',
  'function decimals() view returns (uint8)',
  'function symbol() view returns (string)',
  'function transfer(address to, uint256 amount) returns (bool)',
]

const usdc = new ethers.Contract(USDC_ADDRESS, ERC20_ABI, provider)
const balance = await usdc.balanceOf('0x...')
const decimals = await usdc.decimals()
console.log(ethers.formatUnits(balance, decimals))    // "1000.00"

ステップ 4: トランザクションの送信

// ブロックチェーンに書き込み (ウォレットが必要)
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider)
const usdcWithSigner = usdc.connect(wallet)

// USDC を送金
const tx = await usdcWithSigner.transfer(
  '0xRecipient...',
  ethers.parseUnits('100', 6)    // 100 USDC (6 decimals)
)
await tx.wait()    // 確認を待つ
console.log('TX hash:', tx.hash)

ステップ 5: フロントエンド (MetaMask)

// ユーザーの MetaMask ウォレットに接続
const provider = new ethers.BrowserProvider(window.ethereum)
const signer = await provider.getSigner()
const address = await signer.getAddress()

ガイドライン

  • ethers.js v6 が最新です — v5 の構文は異なります (混同を避けてください)。
  • フロントエンドのコードでプライベートキーを公開しないでください — ユーザーウォレットには MetaMask/WalletConnect を使用してください。
  • RPC プロバイダーとして Alchemy, Infura, QuickNode を使用してください — 必要がない限り、独自のノードを実行しないでください。
  • 成功を確認する前に必ず await tx.wait() してください — tx.hash だけではマイニングされたことを意味しません。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

ethers.js

Overview

ethers.js is the most popular library for interacting with Ethereum and EVM-compatible blockchains (Polygon, Arbitrum, Base, BSC). It handles wallet connections, contract interactions, transaction signing, and blockchain queries.

Instructions

Step 1: Setup

npm install ethers

Step 2: Read Blockchain Data

// lib/ethereum.ts — Read-only blockchain access
import { ethers } from 'ethers'

// Connect to Ethereum (read-only)
const provider = new ethers.JsonRpcProvider('https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY')

// Get ETH balance
const balance = await provider.getBalance('0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18')
console.log(ethers.formatEther(balance))    // "1.234"

// Get current block
const block = await provider.getBlockNumber()

// Get transaction
const tx = await provider.getTransaction('0x...')

Step 3: Interact with Smart Contracts

// Read from a contract (no wallet needed)
const USDC_ADDRESS = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
const ERC20_ABI = [
  'function balanceOf(address) view returns (uint256)',
  'function decimals() view returns (uint8)',
  'function symbol() view returns (string)',
  'function transfer(address to, uint256 amount) returns (bool)',
]

const usdc = new ethers.Contract(USDC_ADDRESS, ERC20_ABI, provider)
const balance = await usdc.balanceOf('0x...')
const decimals = await usdc.decimals()
console.log(ethers.formatUnits(balance, decimals))    // "1000.00"

Step 4: Send Transactions

// Write to blockchain (needs wallet)
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider)
const usdcWithSigner = usdc.connect(wallet)

// Transfer USDC
const tx = await usdcWithSigner.transfer(
  '0xRecipient...',
  ethers.parseUnits('100', 6)    // 100 USDC (6 decimals)
)
await tx.wait()    // wait for confirmation
console.log('TX hash:', tx.hash)

Step 5: Frontend (MetaMask)

// Connect to user's MetaMask wallet
const provider = new ethers.BrowserProvider(window.ethereum)
const signer = await provider.getSigner()
const address = await signer.getAddress()

Guidelines

  • ethers.js v6 is current — v5 syntax is different (avoid mixing).
  • Never expose private keys in frontend code — use MetaMask/WalletConnect for user wallets.
  • Use Alchemy, Infura, or QuickNode as RPC providers — don't run your own node unless needed.
  • Always await tx.wait() before confirming success — tx.hash alone doesn't mean it's mined.