개발자 · Base
USDCtoFiat 예치의 Builder Code 어트리뷰션을 준비하세요.
이 문서는 설정 안내이며, USDCtoFiat에 이미 발급된 Builder Code가 있다는 주장이 아닙니다. Base 앱이 @usdctofiat/offramp로 생성한 온체인 예치 트랜잭션을 어트리뷰션할 준비가 되었을 때 사용하세요.
01
어트리뷰션 순서
- 1Base Mini App을 안정적인 HTTPS origin에 배포합니다.
- 2Base.dev에서 앱을 등록하고 검증합니다.
- 3Base.dev 설정에서 실제 Builder Code를 복사합니다.
- 4ox/erc8021로 해당 코드에서 ERC-8021 dataSuffix를 생성합니다.
- 5예치 트랜잭션을 보내는 Viem 또는 Wagmi 클라이언트에 dataSuffix를 붙입니다.
- 6작은 USDCtoFiat 예치를 만들고 캠페인 시작 전에 어트리뷰션을 검증합니다.
02
적용 위치
| 표면 | 어트리뷰션 경로 |
|---|---|
| Base App | Base 문서에 따르면 등록된 앱은 Base App 내부 활동에 대해 자동 어트리뷰션을 받을 수 있습니다. |
| 웹 앱 | Base App 밖의 브라우저 사용을 어트리뷰션하려면 트랜잭션 클라이언트에 dataSuffix를 추가하세요. |
| USDCtoFiat SDK | SDK는 전달한 wallet client로 서명하므로 suffix는 해당 wallet-client 경로에 속합니다. |
| 컨트랙트 | 컨트랙트 변경은 필요 없습니다. ERC-8021 suffix 데이터는 calldata에 추가되고 오프체인에서 인덱싱됩니다. |
03
구현 메모
- Base 문서 경로에는 viem 2.45.0 이상을 사용하세요. 이 앱은 이미 더 새로운 viem 버전을 사용합니다.
- placeholder Builder Codes를 프로덕션에 넣지 마세요. Base.dev가 실제 값을 발급한 뒤에만 연결하세요.
- Viem에서는 wallet client 생성 시 dataSuffix를 추가하세요.
- Wagmi에서는 sends와 batch calls가 상속하도록 client 레벨에서 dataSuffix를 설정하세요.
- Privy 또는 smart-wallet 플로우에서는 실제로 user operation 또는 transaction을 제출하는 wallet/provider 경로를 사용하세요.
04
검증
| 확인 | 통과 조건 |
|---|---|
| Base.dev | 앱의 Builder Code에 대한 온체인 트랜잭션 수가 증가합니다. |
| 블록 탐색기 | 트랜잭션 input이 ERC-8021 suffix marker로 끝나고 예상 코드로 decode됩니다. |
| USDCtoFiat 결과 | 생성된 예치는 depositId와 txHash를 반환한 뒤 deposits(address)에 나타납니다. |
| Peerlytics | 인덱싱이 따라잡으면 예치와 intent lifecycle을 검사할 수 있습니다. |
Keep exploring
Common questions
지금 placeholder Builder Code를 추가할 수 있나요?
아니요. 통합은 준비하되 placeholder attribution을 배포하지 마세요. Base.dev에 등록하고 실제 코드를 받은 뒤 wallet-client 경로에 추가하세요.
@usdctofiat/offramp에 별도의 Builder Code 옵션이 필요한가요?
일반 앱 경로에서는 필요 없습니다. SDK는 전달한 Viem WalletClient를 사용하므로 어트리뷰션은 해당 client 또는 트랜잭션을 보내는 wallet/provider 레이어에 붙여야 합니다.
ERC-8021이 ZKP2P 컨트랙트를 변경하나요?
아니요. Base 문서는 Builder Codes를 calldata suffix attribution으로 설명합니다. 컨트랙트는 정상 실행되고, 어트리뷰션은 트랜잭션 이후 오프체인 indexers가 읽습니다.