Skip to main content
  1. 専用のRPCメソッドを使用して、インデクサから暗号化されたプライベートソラナトークンアカウントを取得します。
  2. ユーザーまたはユーザーが許可した人のみが、視聴キーで残高を復号できます。
  3. プライベート残高が変化した後と転送の前に使用します。
  1. getBalance は公開SOLを返します。 getAccount は公開トークンアカウントを返します。
  2. RPCは公開残高を返します。

始めに

1

前提条件

TypeScript の例には Node.js 24 以降、pnpm 11.18.0、および Solana CLI が必要です。
出典: sdk-libs/ts
Helius APIキーを追加します:
.env
例ではデフォルトで支払者としてSolana CLIウォレットを使用します。支払者はdevnet SOLを保有している必要があります。Devnet SOLの取得方法を参照してください。
2

ビュータグを導出

  • senderViewTag はsenderAddress.confidentialViewTag() であり、送信者のソラナ公開鍵です。これはインデクサが一致する暗号化された出力を返すために使用します。
3

インデクサからトランザクション出力をフェッチ

  • getShieldedTransactionsByTags はsenderViewTag に関連する暗号化された出力をフェッチします。
  • atSlot(depositTx.slot) はインデクサがそのスロットにデポジットを持つまで待機します。
  • インデクサは暗号化された出力データを返します。プライベート残高は復号しません。
4

プライベート残高に復号

  • sender は、ローカルで復号するための送信者の閲覧キーを提供します。
  • decryptToBalances は、一致する出力を復号し、送信者の非公開残高を返します。
  • balancesAfterDeposit.balance(SOL_MINT) は、非公開の SOL 残高を読み取ります。
オーナータグ付けとプライベートソラナトークンアカウントの動作については概念を参照してください。

完全なコード例

例をクローンして実行:
例では、こちらのローカル/devnet 上の confidential Ring を使用しています。

関連ガイド

Create a Private Wallet

Deposit

Transfer

Withdraw

Read Private History

お探しの情報が見つかりませんでしたか?

ぜひご連絡ください!Telegram | E-Mail | Typeform