JPYC SDKについて
🛠 JPYC SDK とは?
JPYC SDK(@jpyc/sdk-core)は、JPYCコントラクトと簡単にやり取りできるNodeJS向けのインタフェースです。
ブロックチェーンの複雑な処理を抽象化し、開発者が簡単にJPYC機能を実装できるようになっています。
このSDKはJPYC v2コントラクトに対応しており、複数のブロックチェーンネットワークをサポートしています。
✨ JPYC SDK の今回のプロジェクトでの使用例
1. 総供給量取得
JPYCの総供給量を取得します。
const totalSupply = await jpyc.totalSupply();
console.log(`総供給量: ${totalSupply.toString()}`);
2. 残高取得
ユーザーのJPYC残高を取得します。
const balance = await jpyc.balanceOf(address);
console.log(`残高: ${balance} JPYC`);
3. 送信処理
指定したアドレスにJPYCを送信します。
const tx = await jpyc.transfer(
recipientAddress,
amount
);
console.log(`送信完了: ${tx.hash}`);
📦 JPYC SDK のインストール
JPYC SDKは、npmまたはyarnを使ってインストールできます:
# npm
npm i @jpyc/sdk-core
# または yarn
yarn add @jpyc/sdk-core
🔧 JPYC SDK の初期化
JPYC SDKを使用するには、以下の4ステップで初期化を行います:
import { JPYC, SdkClient } from '@jpyc/sdk-core';
// 1. SdkClientインスタンスを初期化
const sdkClient = new SdkClient({
chainId: 137, // Polygon PoS
rpcUrl: 'YOUR_RPC_ENDPOINT_URL',
});
// 2. 秘密鍵からEOA(外部所有アカウント)を設定
const account = sdkClient.configurePrivateKeyAccount({
privateKey: 'YOUR_PRIVATE_KEY',
});
// 3. アカウントを使ってウォレットクライアントを設定
const client = sdkClient.configureClient({
account,
});
// 4. クライアントを使ってJPYCインスタンスを初期化
const jpyc = new JPYC({
env: 'prod', // 'prod' または 'local'
contractType: 'jpyc', // 'jpyc' または 'jpycPrepaid'
localContractAddress: undefined, // ローカルネットワーク使用時のみ設定
client,
});
重要なポイント:
- SDKは環境変数を暗黙的に使用しません。秘密鍵などの機密データは安全にロードしてください
chainIdには後述のサポートされているチェーンIDを使用します- 本番環境では
env: 'prod'、ローカル開発ではenv: 'local'を指定します
🌐 サポートするネットワーク
JPYC SDKは、JPYCが発行されている3つのチェーンとテストネットでサポートされています。
- メインネット
- Ethereum Mainnet
- Polygon PoS Mainnet
- Avalanche Mainnet
- テストネット
- Ethereum Sepolia Testnet
- Polygon Amoy Testnet
- Avalanche Fuji Testnet
このプロジェクトでは、各テストネットを使用します。
📚 このプロジェクトでの JPYC SDK の役割
このプロジェクトでは、JPYC SDKをMCP(Model Context Protocol)サーバーに統合します。
MCPサーバーがJPYC SDKを使用してブロックチェーン操作を行い、AI Agentがそれを自然言語で制御します。
それではAI AgentやMCPについて次のセクション以降で学んでいきましょ う!
📖 参考資料
🙋♂️ 質問する
ここまでの作業で何かわからないことがある場合は、Discordの#jpycで質問をしてください。
ヘルプをするときのフローが円滑になるので、エラーレポートには下記の4点を記載してください ✨
- 質問が関連しているセクション番号とレッスン番号
- 何をしようとしていたか
- エラー文をコピー&ペースト
- エラー画面のスクリーンショット
次のレッスンでは、AI Agentについて学びます!