본문으로 건너뛰기

Slush

Slush는 Mysten Labs가 build한 공식 Sui 지갑이며 Chrome browser extension, iOS app, Android app, 그리고 slush.app의 web app으로 사용할 수 있다.

Slush 기본 사항

Slush Wallet은 사용자에게 계정을 만들고 접근하는 두 가지 방법을 제공한다:

  • social loginzero-knowledge login (zkLogin)을 사용해 OAuth credential(Google, Apple, Facebook, Twitch)에서 Sui 주소를 derive한다. 복구 패스프레이즈는 필요하지 않다. key 관리가 완전히 추상화되므로 지갑을 처음 사용하는 사용자에게 권장되는 login 방법이다.

  • 복구 패스프레이즈는 표준 셀프 커스터디 계정을 만든다. 사용자는 개인 키를 locally 보관하고 복구 패스프레이즈 backup을 책임진다. key를 완전하고 독립적으로 제어하려는 사용자에게 권장되는 경로이다.

두 계정 타입은 동시에 지원된다. 하나의 Slush Wallet은 social-login 계정와 passphrase 기반 계정을 모두 보유할 수 있다.

Slush Wallet에서 사용할 수 있는 추가 기능은 다음과 같다:

  • Slush Links: recipient 주소 없이 공유 가능한 link 또는 QR code를 통해 누구에게나 토큰 또는 NFT를 보낸다.
  • staking: SUI를 validator에 delegate하고 지갑에서 직접 staking reward를 얻는다.
  • 스왑: 지갑을 벗어나지 않고 app 안에서 토큰을 exchange한다.
  • app browser: mobile app 안에서 Sui app을 browse하고 연결한다.

Slush Wallet SDK

@mysten/slush-wallet SDK를 사용하면 자체 지갑 interface 또는 app에 Slush Wallet 지원을 추가할 수 있다. Slush browser extension과 native mobile app은 Wallet Standard를 통해 자동으로 동작하므로 이 SDK가 필요하지 않다. SDK는 Slush web app을 connection option으로 지원하려는 경우에만 필요하다.

설치

pnpm install @mysten/slush-wallet

Slush web 지갑 등록

애플리케이션 lifecycle에서 가능한 한 일찍 registerSlushWallet을 한 번 호출한다. 이렇게 하면 Slush web 지갑이 Wallet Standard에 등록되어 기존 지갑 connection UI에 표시된다.

지원 기능

Slush 지갑은 다음 Wallet Standard 기능을 지원한다:

  • signTransaction
  • signAndExecuteTransaction
  • signPersonalMessage

Slush 지갑 감지

연결된 지갑이 Slush Wallet인지 확인하려면 지갑 name을 SLUSH_WALLET_NAME constant와 비교한다.

Sui dApp Kit 통합

Sui dApp Kit은 Slush Wallet에 대한 built-in opt-in support를 제공한다. 이를 활성화하려면 slushWalletConfigcreateDAppKit를 전달한다. name 필드는 필수이며 connection flow 중 사용자에게 표시된다.

Slush browser extension을 설치한 사용자는 connection modal에서 extension만 보게 된다. extension이 없는 사용자는 대신 Slush web app을 통해 연결한다.

deep linking

deep linking을 사용하면 external app, website, service가 Slush Wallet을 특정 screen으로 직접 열거나 토큰 스왑, payment, app browser session 같은 특정 액션을 trigger할 수 있다. Slush는 my.slush.app domain을 통한 universal link와 slush://를 통한 custom URL scheme link를 지원한다. Slush browser extension에서는 deep linking이 지원되지 않는다.

전체 route reference, 파라미터 table, platform별 implementation example, troubleshooting guidance는 deep linking에 대한 Slush Wallet SDK docs를 참조한다.