Skip to main content
  1. 예치는 사용자의 공공 솔라나 잔액에서 자신 또는 타인의 개인 잔액으로 토큰을 이동합니다.
  2. 예치는 단일 솔라나 거래에서 솔라나 지갑 주소로 전송됩니다.

예치: 개인정보는 무엇인가

허가 불필요한 링은 금액과 자산이 암호화된 비밀입니다. 사용자 정의 링은 비밀 또는 익명(발신자, 수신자, 자산 및 금액 암호화)으로 구성될 수 있습니다.

예치가 어떻게 작동하는가

예치는 결과적으로 개인 잔액과 함께 공공 솔라나 전송입니다.
  1. 사용자의 SOL 또는 SPL 잔액은 체인 상에서 공개됩니다.
  2. 지갑은 금액과 수신자를 설정하고, 예치를 구축하며, 소유자가 서명합니다. 예치는 ZK 증명을 요청하지 않습니다.
  3. 솔라나 런타임은 서명을 검증하고 솔라나 프라이버시 프로그램을 호출합니다.
  4. 앱은 솔라나 거래 해시를 통해 상태를 추적합니다.
  1. 사용자의 SOL 또는 SPL 잔액은 체인 상에서 공개됩니다.
  2. 지갑은 공개 상태를 읽고 전송을 구축하며, 소유자가 서명합니다.
  3. 솔라나 런타임은 서명을 검증하고 시스템 프로그램 또는 토큰 프로그램을 호출하여 공공 잔액을 업데이트합니다.
  4. 앱은 솔라나 거래 해시를 통해 상태를 추적합니다.
이것은 허가 불필요한 비밀 링의 상위 레벨 거래 흐름입니다. 사용자 정의 링과 비교하려면 concepts를 참조하세요.

시작하기

1

사전 준비

TypeScript 예제는 Node.js 24 이상, pnpm 11.18.0, 그리고 Solana CLI가 필요합니다.
출처: sdk-libs/ts
Helius API 키 추가:
.env
예제는 기본적으로 Solana CLI 지갑을 지불자로 사용합니다. 지불자는 devnet SOL을 보유해야 합니다. 테스트넷 SOL 받는 방법을 참조하세요.
2

개인 잔액에 예치

  • SDK는 지시문을 반환합니다. 앱이 그것을 서명하고 보냅니다.
  • sendAndConfirmFactory는 Kit 거래를 구축하고 제출하여 서명과 착륙 슬롯을 반환합니다.
  • senderAddress는 수신자의 입니다. 이 예시는 송신자에게 입금합니다. 수신자는 송신자이거나 타사 지갑일 수 있습니다.
  • senderViewTag는 기밀 링에서 송신자의 Solana 공개 키인 senderAddress.confidentialViewTag()입니다. 인덱서는 이를 사용하여 일치하는 암호화 출력을 반환합니다.
  • client.tree는 새로운 출력 커밋먼트를 수신하는 상태 Merkle 트리입니다.
  • depositor / senderSigner는 공개-비공개 입금에 자금을 제공하고 서명합니다.
  • DepositAsset.sol()는 SOL을 선택합니다. DepositAsset.spl는 SPL 및 Token 2022 자산의 민트, 소스 토큰 계정, 토큰 프로그램을 받습니다.
  • recipientOwnerHash는 senderAddress.ownerHash()입니다. 수신자의 서명 공개 키와 무효화 공개 키를 해시한 이 값은 새 비공개 토큰 계정에 커밋되는 소유자 필드입니다.
  • DEPOSIT_AMOUNT는 SOL의 경우 lamport를 사용하고, SPL 및 Token 2022 자산의 경우 토큰의 기본 단위를 사용합니다.
  • sendAndConfirm는 depositIx를 솔라나 거래로 서명하고 제출합니다.
  • 확인을 통해 착륙 슬롯이 제공되며, 인덱서 가져오기를 게이트합니다.

전체 코드 예제

예제를 복제하고 실행하십시오:
예제에서는 여기의 local/devnet에 있는 기밀 Ring을 사용합니다.
deposit_transfer_withdraw.ts

관련 가이드

Create a Private Wallet

Transfer

Withdraw

Read a Private Balance

Read Private History

원하는 정보를 찾지 못하셨나요?

문의하세요! Telegram | 이메일 | Typeform