본문으로 건너뛰기

Slush

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

Slush 기본 사항​

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

  • social login은 zero-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를 제공한다. 이를 활성화하려면 slushWalletConfig에 createDAppKit를 전달한다. 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를 참조한다.