Documentation Index
Fetch the complete documentation index at: https://daehan-base.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
개요
스펜드 퍼미션을 통해 신뢰할 수 있는spender를 지정하여 사용자를 대신해 Base Account에서 자산을 이동할 수 있습니다.
사용자가 퍼미션에 서명하면, spender는 정의한 한도 내에서 추가 프롬프트, 팝업, 사용자 서명 없이 전송을 시작할 수 있습니다. 이를 통해 구독 갱신, 알고리즘 거래, 자동화된 지불과 같은 원활한 경험이 가능합니다.
Spend Permission Manager 컨트랙트와 지원 체인에 대해 자세히 알아보려면 GitHub을 참조하세요.
Base App 앱을 위한 스펜드 퍼미션은 곧 출시될 예정이며 향후 업데이트에서 지원될 것입니다.
서브 어카운트를 사용하고 있다면, Base Account가 서브 어카운트에 자동으로 자금을 지원하고 선택적으로 승인 프롬프트를 건너뛸 수 있는 자동 스펜드 퍼미션을 확인해 보세요.
사용법
스펜드 퍼미션 요청
퍼미션을 설명하는 EIP-712 페이로드를 생성하고 사용자에게 서명을 요청합니다. 나중에 온체인에서 퍼미션을 등록할 수 있도록 퍼미션 데이터와 함께 서명 결과를 저장합니다. 아래 SDK 헬퍼가 구성과 서명을 처리해 줍니다.| 필드명 | 타입 | 설명 |
|---|---|---|
account | address | 이 스펜드 퍼미션이 유효한 스마트 계정 |
spender | address | account의 토큰을 지출할 수 있는 주체 |
token | address | 토큰 주소 (ERC-7528 네이티브 토큰 또는 ERC-20 컨트랙트) |
allowance | uint160 | 각 period 내에서 지출할 수 있는 최대 허용 값 |
period | uint48 | 사용된 allowance를 반복적으로 초기화하는 시간 기간 (초) |
start | uint48 | 이 스펜드 퍼미션이 유효하기 시작하는 타임스탬프 (포함, Unix 초) |
end | uint48 | 이 스펜드 퍼미션이 유효한 마지막 타임스탬프 (미포함, Unix 초) |
salt | uint256 | 동일한 필드를 가진 고유한 스펜드 퍼미션을 구별하기 위한 임의 데이터 |
extraData | bytes | spender가 소비할 수 있는 스펜드 퍼미션에 첨부되는 임의 데이터 |
스펜드 퍼미션 사용
퍼미션을 사용하는 것은 2단계입니다:- 콜 준비 — 퍼미션과 요청된
amount로prepareSpendCallData를 호출합니다. - 콜 제출 — 앱의 spender 계정을 사용하여 콜을 제출합니다.
prepareSpendCallData는 토큰을 지출하는 데 필요한 콜 배열을 반환합니다:
approveWithSignature— 퍼미션이 아직 온체인에 등록되지 않은 경우, 이 콜이spend콜 앞에 추가됩니다.spend— 사용자의 Base Account에서 토큰을 지출하는 콜.
spendCalls 배열에 대하여이 배열은 처음으로 온체인에 퍼미션을 제출할 때 2개의 콜을 가집니다.
퍼미션이 이미 온체인에 등록된 경우, 이 배열에는 1개의 콜(spend 콜)만 있습니다.대부분의 사용 사례에서는 이에 대해 걱정할 필요가 없습니다.스펜드 퍼미션 취소
두 가지 방법으로 퍼미션을 취소할 수 있습니다:requestRevoke를 사용하여 사용자의 Base Account에 요청을 통해 사용자 승인을 요청합니다.prepareRevokeCallData에서 반환된 콜을 제출하여 앱의 spender에서 자동으로 취소합니다.
API 참조
requestSpendPermissionprepareSpendCallDatarequestRevokeprepareRevokeCallDatafetchPermissionsfetchPermissiongetPermissionStatus
완전한 통합 예제
활용 사례 예제
Base에서 보안 스펜드 퍼미션을 사용하여 자율적으로 Zora Creator Coins를 구매할 수 있는 AI 에이전트를 구축한다고 가정해 보겠습니다. 이 예제는 Base Account의 스펜드 퍼미션을 Coinbase Developer Platform(CDP) 서버 지갑 및 Trade API와 결합하여 원활하고 가스 없는 AI 에이전트 트랜잭션을 구현하는 방법을 보여줍니다.
라이브 데모
라이브 애플리케이션을 사용해 보고 스펜드 퍼미션이 작동하는 것을 확인하세요
소스 코드
GitHub에서 완전한 구현을 탐색하세요