vechain-react-native-dev について
VeWorldウォレットと`@vechain/react-native-wallet-link`を使うReact Native dApp開発向けのスキルです。スキル内の参照ファイルを優先し、ウォレット接続、署名、トランザクション、ディープリンク設定を扱います。
主な機能
- 01VeWorldProviderとディープリンクの設定
- 02useVeWorldWalletによる接続と署名
- 03NaCl鍵と暗号化通信の処理
- 04マルチクローズトランザクションと複数ネットワークへの対応
- 05トピック別の参照ファイルを最初に確認
活用シーン
- 01React Native dAppへのVeWorld接続
- 02証明書やEIP-712データの署名実装
- 03iOSとAndroidのウォレット復帰設定
- 04ウォレットのトランザクションフローの構築と検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ vechain/ vechain-ai-skills --skill vechain-react-native-devインストール後、Claude Code で/vechain-react-native-devを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/deep-link-setup.mdexample-integration.mdwallet-link-api.md詳細
React Native Wallet Link スキル
重要なルール
- まず参照ファイルを読んでください。 ユーザーのリクエストが以下の参照表に記載されたトピックに関係する場合は、ほかの作業を始める前に、コードを書く前、判断を下す前に、該当ファイルを読んでください。スキルが有効であることをユーザーが確認できるよう、読んでいるファイルを簡潔に伝えてください(例:「ウォレットリンクの API リファレンスを読んでいます……」)。
- VeChain のトピックに関する情報の優先順位: (a)このスキルの参照ファイル — 常に主要な情報源です。(b)VeChain MCP ツール — オンチェーンデータ、トランザクションの構築、ライブネットワークへの問い合わせには
@vechain/mcp-serverを使用し、VeChain ドキュメントの検索には Kapa AI MCP を使用してください。(c)Web 検索 — 最後の手段としてのみ使用し、参照ファイルで扱われていないトピックに限ります。 - VeChain 関連のタスクでは、メインの会話内で直接作業することを優先してください。プランモードやサブエージェントはスキルのコンテキストを引き継がないため、参照ファイルを使わずに Web 検索に頼る可能性があります。
- コンテキストの圧縮や喪失の後は、作業を続ける前にこの SKILL.md を読み直し、参照表と作業手順を再確認してください。
対象範囲
VeWorld ウォレットと連携する React Native dApp の開発には、このスキルを使用してください。
@vechain/react-native-wallet-linkのインストールと設定- ディープリンク処理とイベントコールバックを含む
VeWorldProviderのセットアップ useVeWorldWalletフック — 接続、切断、証明書への署名、型付きデータへの署名、トランザクションへの署名と送信- NaCl 鍵ペアの生成、暗号化通信、ペイロードの復号
- iOS(URL スキーム、ユニバーサルリンク)および Android(インテントフィルター)のディープリンク設定
- ウォレットセッションの状態管理(鍵ペア、セッション、アドレスの永続化)
- VeWorld による複数条項トランザクションへの署名
- 証明書への署名(識別、検証、アテステーション)
- EIP-712 型付きデータへの署名
- ウォレット応答のエラー処理
- 複数ネットワークのサポート(メインネット、テストネット、solo)
関連トピックについては、次の関連スキルを参照してください。
- vechain-core — コア SDK の使用方法、手数料の委任、複数条項のパターン、デュアルトークンモデル
- vechain-kit — VeChain Kit と dapp-kit パッケージ:フック、コンポーネント、ウォレット接続、ソーシャルログイン
- frontend — 一般的なフロントエンドのパターン:React Query、Turborepo、状態管理、Chakra UI
- smart-contract-development — Solidity、Hardhat、テスト、セキュリティ
デフォルトのスタック
| レイヤー | デフォルト | 代替 |
|---|---|---|
| ウォレットリンク | @vechain/react-native-wallet-link | — |
| SDK | @vechain/sdk-core + @vechain/sdk-network | — |
| フレームワーク | Expo(React Native) | ベア React Native |
| 状態管理 | Zustand + AsyncStorage | 永続化ストア全般 |
| Node | Node 20 LTS(nvm で管理) | — |
作業手順
1. Node のバージョンを確認する
依存関係のインストールやコマンドの実行を行う前に、次の手順を実施してください。
- プロジェクトルートに
.nvmrcがあるか確認します。存在する場合は、nvm useを実行します。 .nvmrcが存在しない場合は、20(Node 20 LTS)を指定して作成し、nvm useを実行します。
2. プロジェクトの構成を確認する
- Expo プロジェクト → ディープリンク処理には
expo-linkingを使用します - ベア React Native →
react-nativeのLinkingAPI を直接使用します - 既存の状態管理(Zustand、Redux、Context)を確認し、それに合わせます
3. 実装前に確認する
ユーザーのリクエストが曖昧な場合や、複数の方法で解決できる場合は、実装前に質問してください。調査と実装は分けて進めます。
- 使用するネットワークはどれですか?(メインネット/テストネット/solo)
- 必要な操作は何ですか?(接続のみ、署名、トランザクション)
- 状態管理の希望はありますか?
- ディープリンクのスキーム名は何ですか?
4. VeChain 固有の正確性を確保して実装する
- ピア依存関係は必ずすべてインストールしてください:
@vechain/sdk-core、@vechain/sdk-network、react-native-get-random-values、events - NaCl を使用する前に、必ず
react-native-get-random-valuesをインポートしてください — React Native での暗号処理に必要です - ネットワーク:
VeWorldProviderに渡すノード URL を使用して、必ず明示的に指定してください(mainnet/testnet/solo) - キーペア:
nacl.box.keyPair()で生成し、tweetnacl-utilのencodeBase64()を使って Base64 エンコードして保存してください - セッションの永続化:アプリの再起動後も、keyPair、veWorldPublicKey、address、セッションを保持してください
- エラー処理:復号データを処理する前に、ウォレットの応答に
errorCodeがあるか必ず確認してください - ディープリンク:VeWorld がアプリに戻れるよう、プラットフォーム固有の URL スキームを設定してください
5. 検証して成果物を提出する
該当するすべてのゲートを通過するまで、タスクは完了ではありません。
- コードがコンパイルできる — ビルドエラーがない(
npx expo startまたは同等のコマンドが正常に実行できる) - ディープリンクが設定されている — iOS の Info.plist および/または Android のインテントフィルターが設定されている
- リスクに関する注意事項が記載されている — 署名、手数料、トークン送金への影響があれば明記されている
その後、以下を提示してください。
- 変更したファイルと差分
- インストール/ビルドコマンド
- ディープリンクのスキーム設定手順
- 署名、手数料、トークン送金に関するリスクの注意事項
参照ファイル
ほかの作業を始める前に、該当するファイルを読んでください。上記の重要なルールを参照してください。
| トピック | ファイル | ユーザーが次の内容に言及した場合に読む |
|---|---|---|
| API とフックのリファレンス | references/wallet-link-api.md | useVeWorldWallet、VeWorldProvider、connect、disconnect、signCertificate、signTypedData、signAndSendTransaction、キーペア、暗号化、復号 |
| ディープリンクとプラットフォームの設定 | references/deep-link-setup.md | ディープリンク、URL スキーム、ユニバーサルリンク、iOS、Android、インテントフィルター、リダイレクト、Expo linking、app.json |
| 統合例 | references/example-integration.md | 例、デモ、完全なアプリ、チュートリアル、使い方、入門、Zustand、状態管理、VET 送金 |
コメント
Markdown 対応