メインコンテンツまでスキップ

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点を記載してください ✨

  1. 質問が関連しているセクション番号とレッスン番号
  2. 何をしようとしていたか
  3. エラー文をコピー&ペースト
  4. エラー画面のスクリーンショット

次のレッスンでは、AI Agentについて学びます!