Skip to main content

개요

Whiterail SDK는 이메일 OTP 인증과 Turnkey 통합을 통해 사용자를 안전하게 인증하는 간단한 방법을 제공합니다. SDK는 완전한 Non-custodial 아키텍처를 따르며, 개인키는 절대 클라이언트를 벗어나지 않습니다.

빠른 시작

1. SDK 초기화

API 연결: SDK는 기본적으로 http://localhost:3009에 연결됩니다. 프로덕션 환경에서는 백엔드 서버 URL을 확인하세요.

2. 계정 생성

사용자를 위한 Turnkey sub-organization을 생성합니다. 이 메서드는 멱등성(idempotent)이므로 동일한 이메일로 여러 번 호출해도 기존 계정을 반환합니다.
계정 생성 시 지갑도 함께 생성됨: createAccount를 호출하면 Solana 지갑 주소도 함께 생성되어 반환됩니다.

3. 인증 시작 (OTP 전송)

사용자의 이메일로 OTP 코드를 전송합니다.

4. 인증 완료 (OTP 검증 + 지갑 생성)

OTP 코드를 검증하고 인증을 완료합니다. 첫 번째 인증 시 지갑이 생성됩니다.

5. 결제 전송

또는 민트 주소 직접 사용:
트랜잭션 확인: explorerUrl을 통해 Solscan에서 트랜잭션 상태를 확인할 수 있습니다.

주요 특징

이메일 OTP 인증

사용자의 이메일로 6자리 코드 전송

완전한 Non-custodial

개인키는 클라이언트 측에서만 생성 및 저장

간단한 SDK

인증을 위한 단 3가지 메서드

Turnkey 통합

Turnkey 인프라와 원활한 통합

인증 흐름

세션 만료: 인증 후 30분 동안 세션이 유효합니다. 페이지를 새로고침하거나 30분이 지나면 재인증이 필요합니다.
보안 설계: 개인키는 절대 localStorage에 저장되지 않으며, 메모리에만 존재합니다. 이는 XSS 공격으로부터 보호하기 위한 설계입니다.

세션 관리

인증 상태 확인

현재 세션 가져오기

로그아웃

세션 제한사항: - 페이지를 새로고침하면 메모리가 지워지고 재인증이 필요합니다 - ephemeralPrivateKey는 메모리에만 존재 (localStorage에 저장 안 됨) - 이메일과 기본 정보는 localStorage에 저장되어 다음 로그인 시 자동으로 채워집니다

완전한 예제 (에러 처리 포함)

고급 사용법

3단계로 나누어서 결제하기

더 세밀한 제어가 필요한 경우, 결제를 3단계로 나누어 처리할 수 있습니다:
사용자 정의 수수료 지불자 (feePayer)feePayer 파라미터를 사용하려면 위의 3단계 흐름을 사용해야 하며, 2단계와 3단계 사이에 수수료 지불자의 서명을 추가해야 합니다. 현재 SDK는 수수료 지불자 서명 기능을 제공하지 않으므로, 클라이언트에서 별도로 처리해야 합니다.

다음 단계

설치

개발 환경 설정하기

SDK 레퍼런스

모든 메서드 살펴보기