본문으로 건너뛰기

Slush

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

Slush 기본 사항

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

  • social loginzero-knowledge login (zkLogin)을 사용해 OAuth credential(Google, Apple, Facebook, Twitch)에서 Sui address를 derive한다. recovery passphrase는 필요하지 않다. key management가 완전히 추상화되므로 wallet을 처음 사용하는 사용자에게 권장되는 login 방법이다.

  • recovery passphrase는 표준 셀프 커스터디 account를 만든다. 사용자는 private key를 locally 보관하고 recovery passphrase backup을 책임진다. key를 완전하고 독립적으로 제어하려는 사용자에게 권장되는 경로이다.

두 account type은 동시에 지원된다. 하나의 Slush Wallet은 social-login account와 passphrase 기반 account를 모두 보유할 수 있다.

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

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

Slush Wallet SDK

@mysten/slush-wallet SDK를 사용하면 자체 wallet 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 wallet 등록

application lifecycle에서 가능한 한 일찍 registerSlushWallet을 한 번 호출한다. 이렇게 하면 Slush web wallet이 Wallet Standard에 등록되어 기존 wallet connection UI에 표시된다.

지원 기능

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

  • signTransaction
  • signAndExecuteTransaction
  • signPersonalMessage

Slush wallet 감지

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

Sui dApp Kit 통합

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

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

deep linking

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

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