이미 발급된 Pass를 재발급 받기 위한 API입니다. 기존에 발급된 이력이 있는 Pass Id와 Holder 주소에 대해 Pass를 재발행하고자 할 때 사용합니다.
lunvs-account-id
헤더에 들어갈 값은 어디서 확인할 수 있나요?
lunvs-account-id
헤더에 들어갈 값은 어디서 확인할 수 있나요?lunvs-account-id
는 루니버스 계정 ID를 의미하는 값으로, 콘솔 사용자 ID를 구분하기 위한 값으로 사용됩니다. 모든 Web3 Pass API 요청에는 이 헤더가 공통으로 포함되어야 합니다. 입력 값은 루니버스 콘솔 우측 상단 프로필 > IAM 메뉴로 진입 후 아래와 같은 화면에서 'Alias'에 해당하는 값을 사용합니다 (붉은색 박스 영역).
signedMessage
포맷 가이드
signedMessage
포맷 가이드패스 생성을 위한 요청 메시지 원본인 signedMessage는 Object 형식으로, 아래와 같은 필드를 포함해야 합니다.
holder
: Pass를 발급할 NFT Holder의 주소입니다.contractAddress
: NFT 컨트랙트의 주소입니다.tokenId
: 해당 Holder가 보유한 토큰의 ID입니다. 한 Holder가 여러 토큰을 보유하고 있는 경우 대표 ID 하나만 사용합니다. 정수 형식으로 입력합니다.environmentId
: Pass 발급을 요청하는 대상 환경 ID입니다.
signature
생성 가이드
signature
생성 가이드서명 데이터는 signedMessage를 eth_signTypedData_v4 형식으로 서명하여 생성합니다. 대표적인 지갑 어플리케이션인 MetaMask를 통해 eth_signTypedData_v4 형식의 서명 데이터를 만드는 방법 예시는 여기에서 확인하실 수 있습니다.
아래 코드는 Chrome의 개발자 도구 콘솔에서 쉽게 서명 데이터를 만들어볼 수 있는 예제 코드입니다. API 테스트를 위해 활용해보세요.
message = {
"domain": {
"name": "luniverse-pass",
"version": "1"
},
"message": {
"holder": "{EOA_ADDRESS}",
"contractAddress": "{CONTRACT_ADDRESS}",
"tokenId": 0,
"environmentId": "{LUNIVERSE_ENVIRONMENT_ID}"
},
"primaryType": "Pass",
"types": {
"EIP712Domain": [
{
"name": "name",
"type": "string"
},
{
"name": "version",
"type": "string"
}
],
"Pass": [
{
"name": "holder",
"type": "address"
},
{
"name": "contractAddress",
"type": "address"
},
{
"name": "tokenId",
"type": "uint256"
},
{
"name": "environmentId",
"type": "string"
}
]
}
}
msgParams = JSON.stringify(message)
ethereum.enable()
ethereum.request({method:'eth_signTypedData_v4', params:[ethereum.selectedAddress, msgParams], from: ethereum.selectedAddress})
eventId
는 어디서 확인할 수 있나요?
eventId
는 어디서 확인할 수 있나요?Event ID는 루니버스 콘솔의 좌측 메뉴에서 Web3 Pass > Events & Passes 메뉴 진입하여 Pass를 생성하고자 하는 대상 Event를 클릭하여 Event 상세 화면으로 진입한 후 주소창에서 확인하실 수 있습니다. 해당 페이지의 주소는 https://console.luniverse.io/nft/events/{EventID}
형식으로 구성되므로, /events/ 이후의 값을 복사하여 API 요청시 사용해주세요.
passId
는 어디서 확인할 수 있나요?
passId
는 어디서 확인할 수 있나요?Pass ID는 Event 상세 화면 내 Pass 목록에서 실제 발행을 원하는 Pass를 클릭한 뒤 주소창에서 확인하실 수 있습니다. 해당 페이지 주소는 https://console.luniverse.io/nft-pass/passes/{PassID}
형식으로 구성되므로, /passes/ 이후의 값을 복사하여 API 요청시 사용해주세요.