mcpField
M
mesh-wallet

mesh-wallet

github.com/meshjs開発244 回インストール36 週間前に更新
リポジトリ

mesh-wallet について

mesh-walletは、`@meshsdk/wallet`によるCardanoウォレット統合のスキルです。CIP-30対応のブラウザーウォレットと、サーバーサイド、CLI、バックエンド向けのヘッドレスウォレットを扱います。

主な機能

  1. 01CIP-30経由でブラウザーウォレットに接続
  2. 02ニーモニックやキーからヘッドレスウォレットを作成
  3. 03残高、アドレス、UTxOの取得
  4. 04データとトランザクションへの署名
  5. 05Mesh形式のウォレットデータを利用

活用シーン

  1. 01Webアプリをインストール済みのCardanoウォレットに接続
  2. 02サーバーサイドやCLIのワークフローでウォレットを利用
  3. 03ウォレットデータを取得してトランザクションに署名

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/meshjs/skills --skill mesh-wallet

インストール後、Claude Code で/mesh-walletを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

PATTERNS.md
README.md
TROUBLESHOOTING.md
WALLET.md

詳細

Mesh SDK ウォレットスキル

@meshsdk/wallet を使用した、AI 支援による Cardano ウォレット統合です。

パッケージ情報

npm install @meshsdk/wallet
# or
npm install @meshsdk/core  # includes wallet + transaction + provider

2 種類のウォレット

タイプクラスユースケース
ブラウザーMeshCardanoBrowserWalletWeb アプリ — Eternl、Nami、Flint などに接続します。
ヘッドレスMeshCardanoHeadlessWalletサーバーサイド、CLI、バックエンド — ニーモニックまたはキーから使用します。

クイックリファレンス

ブラウザーウォレット(CIP-30)
import { MeshCardanoBrowserWallet } from '@meshsdk/wallet';

// List installed wallets
const wallets = MeshCardanoBrowserWallet.getInstalledWallets();
// → [{ id: 'eternl', name: 'Eternl', icon: '...', version: '...' }, ...]

// Connect to wallet
const wallet = await MeshCardanoBrowserWallet.enable('eternl');

// Get addresses (Bech32)
const addresses = await wallet.getUsedAddressesBech32();
const changeAddr = await wallet.getChangeAddressBech32();
const stakeAddrs = await wallet.getRewardAddressesBech32();

// Get UTxOs and balance (Mesh format)
const utxos = await wallet.getUtxosMesh();
const balance = await wallet.getBalanceMesh();
const collateral = await wallet.getCollateralMesh();

// Sign and submit
const signedTx = await wallet.signTxReturnFullTx(unsignedTxHex);
const txHash = await wallet.submitTx(signedTx);

// Sign data (CIP-8)
const signature = await wallet.signData(address, 'Hello Cardano!');
ヘッドレスウォレット(サーバーサイド)
import { MeshCardanoHeadlessWallet } from '@meshsdk/wallet';
import { BlockfrostProvider } from '@meshsdk/core';

const provider = new BlockfrostProvider('your-api-key');

// From mnemonic
const wallet = await MeshCardanoHeadlessWallet.fromMnemonic({
  mnemonic: ['word1', 'word2', ...],  // 24 words
  networkId: 0,  // 0 = testnet, 1 = mainnet
  walletAddressType: 'Base',  // 'Base' or 'Enterprise'
  fetcher: provider,
  submitter: provider,
});

// Same API as browser wallet
const address = await wallet.getChangeAddressBech32();
const utxos = await wallet.getUtxosMesh();
const signedTx = await wallet.signTxReturnFullTx(unsignedTxHex);

ファイル

CIP-30 メソッド

標準のウォレットインターフェースメソッド:

メソッド戻り値説明
getNetworkId()number0 = テストネット、1 = メインネット
getUtxos()string[]CBOR 形式の 16 進数で表した UTxO
getCollateral()string[]CBOR 形式の 16 進数で表した担保 UTxO
getBalance()stringCBOR 形式の 16 進数で表した残高
getUsedAddresses()string[]16 進数形式のアドレス
getUnusedAddresses()string[]16 進数形式のアドレス
getChangeAddress()string16 進数形式のアドレス
getRewardAddresses()string[]16 進数形式のステークアドレス
signTx(tx, partial)stringCBOR 形式の 16 進数で表した証人セット
signData(addr, data)DataSignatureCIP-8 署名
submitTx(tx)stringトランザクションハッシュ

Mesh 拡張機能

開発者エクスペリエンスを向上させる拡張メソッド:

メソッド戻り値説明
getUtxosMesh()UTxO[]Mesh 形式の UTxO
getCollateralMesh()UTxO[]Mesh 形式の担保
getBalanceMesh()Asset[]Mesh 形式の残高
getUsedAddressesBech32()string[]Bech32 形式のアドレス
getUnusedAddressesBech32()string[]Bech32 形式のアドレス
getChangeAddressBech32()stringBech32 形式のアドレス
getRewardAddressesBech32()string[]Bech32 形式のステークアドレス
signTxReturnFullTx(tx, partial)string署名済みトランザクション全体(証人だけではありません)

重要な注意事項

  1. ブラウザーウォレットにはユーザーの操作が必要です — enable() を呼び出すと、ユーザーに確認が求められます。
  2. ヘッドレスウォレットにはフェッチャーが必要です — UTxO の照会と署名に使用します。
  3. ネットワーク ID が重要です — テストネット/preprod では 0、メインネットでは 1 です。
  4. 担保は自動的に選択されます — 5 ADA 以上の、純 ADA の最小の UTxO が返されます。

コメント