Lock API Lock API는 NFT 토큰을 거래할 수 없도록 잠그거나 다시 거래할 수 있도록 잠금 해제하는 기능을 제공합니다.
잠금 컨트랙트 배포 잠금 컨트랙트를 배포하는 트랜잭션을 생성합니다. 잠금 컨트랙트는 지갑에 있는 NFT 토큰을 거래할 수 없도록 잠그거나 다시 거래할 수 있도록 잠금 해제하는 기능을 제공합니다.
Request URL 필드명 설명 타입 필수 여부 x-network 블록체인 네트워크{ploygon, xpla} string Y Authorization API를 호출하기 위한 인증 토큰 string Y
Request body 필드명 설명 타입 필수 여부 name 잠금 컨트랙트 이름 string Y from 잠금 컨트랙트를 배포할 지갑 주소 string Y executer 잠긴 NFT를 잠금 해제할 수 있는 지갑 주소입니다. 기본값은 from
에 입력한 주소입니다. string N encoded 반환받을 트랜잭션의 인코딩 여부 true
: data.rawTx
으로 인코딩된 Raw Transaction String을 받습니다. false
: data.rawTx
으로 인코딩을 디코딩한 JSON 결과값을 받습니다. boolean N
Responses 필드명 설명 타입 code api 호출 결과 코드, 0:성공 number message 결과 메시지 string data API 응답 데이터 json data.rawTx 트랜잭션 데이터 string 또는 json data.hashedTx 해시한 data.rawTx
입니다. API 헤더 x-network
가 polygon이고 Request Body from
이 다중 서명 지갑 주소일 때에만 이 값을 받습니다. string data.requestId API 요청을 식별할 수 있는 고유값 string
Request sample curl -X 'POST'
'https://sandbox-bc-api.qpyou.cn/core/v1/lock/contract'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"name": "lock_test",
"from": "0xdcd51770d06B54204abd8c30A25b4583D4cABa39"
}'
Response sample {
"code" : 0 ,
"message" : "success" ,
"data" : {
"rawTx" : "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8..." ,
"hashedTx" : "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076..." ,
"requestId" : "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
NFT 잠금 NFT 잠금이란 발행한 NFT를 거래할 수 없도록 잠그는 것입니다. 게임 유저가 게임 아이템을 민팅해서 NFT를 얻은 후 다시 게임에서 해당 아이템 사용을 원할 경우 NFT를 거래할 수 없도록 잠급니다. NFT 소유자(owner
)는 보유한 NFT(tokenId
)를 사용할 수 없도록 잠금 설정 트랜잭션을 생성합니다.
Request URL Path parameters 필드명 설명 타입 필수 여부 contract NFT 컨트랙트 주소 string Y
필드명 설명 타입 필수 여부 x-network 블록체인 네트워크{ploygon, xpla} string Y Authorization API를 호출하기 위한 인증 토큰 string Y
Request body 필드명 설명 타입 필수 여부 from NFT 소유자 지갑 주소 string Y lockContract 잠금 컨트랙트 주소 string Y tokenId NFT ID string Y encoded 반환받을 트랜잭션의 인코딩 여부 true
: data.rawTx
으로 인코딩된 Raw Transaction String을 받습니다. false
: data.rawTx
으로 인코딩을 디코딩한 JSON 결과값을 받습니다. boolean N
Responses 필드명 설명 타입 code api 호출 결과 코드, 0:성공 number message 결과 메시지 string data API 응답 데이터 json data.rawTx 트랜잭션 데이터 string 또는 json data.hashedTx 해시한 data.rawTx
입니다. API 헤더 x-network
가 polygon이고 Request Body from
이 다중 서명 지갑 주소일 때에만 이 값을 받습니다. string data.requestId API 요청을 식별할 수 있는 고유값 string
Request sample curl -X 'POST'
'https://sandbox-bc-api.qpyou.cn/core/v1/nft/contract/0x777358b228a4720ffa088516294b324f8d24639c/lock'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"from": "0xA10078576Ca6f63dc6f78ff9a8ed8bd05B51f463",
"lockContract": "0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0",
"tokenId": "1",
"encoded": true
}'
Response sample // When the encoded is set to true
{
"code" : 0 ,
"message" : "success" ,
"data" : {
"rawTx" : "02f8d3830138810b8458e948068458e948168302e71494ebd9144485089ebe248f8490..." ,
"hashedTx" : "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076..." ,
"requestId" : "5743f0aa-0323-47fc-a3da-173eee27bbe4"
}
}
// When the encoded is set to false
{
"code" : 0 ,
"message" : "success" ,
"data" : {
"rawTx" : {
"from" : "0xdcd51770d06B54204abd8c30A25b4583D4cABa39" ,
"to" : "0xebd9144485089ebe248f8490984a60579407c262" ,
"data" : "0xb88d4fde000000000000000000000000dcd51770d06b54204abd8c30a25b4583d4cab..." ,
"nonce" : 11 ,
"chainId" : 80001 ,
"gas" : 190228 ,
"maxFeePerGas" : 1491259270 ,
"maxPriorityFeePerGas" : 1491259255
},
"hashedTx" : "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076..." ,
"requestId" : "dd33ddd8-31fa-4491-9c3c-2f912f7059bc"
}
}
NFT 잠금 해제 NFT(tokenId
)를 사용할 수 있도록 토큰 소유자(owner
)가 잠금 설정을 해제하는 트랜잭션을 생성합니다.
Request URL Path parameters 필드명 설명 타입 필수 여부 contract 잠금 컨트랙트 주소 string Y
필드명 설명 타입 필수 여부 x-network 블록체인 네트워크{ploygon, xpla} string Y Authorization API를 호출하기 위한 인증 토큰 string Y
Request body 필드명 설명 타입 필수 여부 nftContract NFT 컨트랙트 주소 string Y from 잠금 컨트랙트를 배포한 계정(잠금 컨트랙트 소유자) 지갑 주소 string Y tokenId NFT ID string Y encoded 반환받을 트랜잭션의 인코딩 여부 true
: data.rawTx
으로 인코딩된 Raw Transaction String을 받습니다. false
: data.rawTx
으로 인코딩을 디코딩한 JSON 결과값을 받습니다. boolean N
Responses 필드명 설명 타입 code api 호출 결과 코드, 0:성공 number message 결과 메시지 string data API 응답 데이터 json data.rawTx 트랜잭션 데이터 string 또는 json data.hashedTx 해시한 data.rawTx
입니다. API 헤더 x-network
가 polygon이고 Request Body from
이 다중 서명 지갑 주소일 때에만 이 값을 받습니다. string data.requestId API 요청을 식별할 수 있는 고유값 string
Request sample curl -X 'POST'
'https://sandbox-bc-api.qpyou.cn/core/v1/lock/contract/0xa245824a24daf3b312d3f59c7debf162c4993e8b/unlock'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"nftContract": "0xdcd51770d06B54204abd8c30A25b4583D4cABa39",
"from": "0xdcd51770d06B54204abd8c30A25b4583D4cABa39",
"tokenId": "1",
"encoded": true
}'
Response sample {
"code" : 0 ,
"message" : "success" ,
"data" : {
"rawTx" : "02f873830138810c8451f4d5c08451f4d5cf83018c0694572f47db51a98..." ,
"hashedTx" : "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076..." ,
"requestId" : "0e40db96-8964-410f-81e2-a968269872d4"
}
}
잠금 설정한 NFT를 소유한 계정 조회 잠금 설정한 NFT(tokenId
)의 소유자 계정을 조회합니다.
Request URL Path parameters 필드명 설명 타입 필수 여부 contract 잠금 컨트랙트 주소 string Y tokenId NFT ID string Y
필드명 설명 타입 필수 여부 x-network 블록체인 네트워크{ploygon, xpla} string Y Authorization API를 호출하기 위한 인증 토큰 string Y
Query parameters 필드명 설명 타입 필수 여부 nftContract NFT 컨트랙트 주소 string Y
Responses 필드명 설명 타입 code api 호출 결과 코드, 0:성공 number message 결과 메시지 string data API 응답 데이터 json data.owner NFT 소유자 계정 주소 string
Request sample curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/lock/contract/0xa245824a24daf3b312d3f59c7debf162c4993e8b/token/1/account?nftContract=0x777358b228a4720ffa088516294b324f8d24639c'
-H 'accept: application/json'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'x-network: polygon'
Response sample {
"code" : 0 ,
"message" : "success" ,
"data" : {
"owner" : "0xA10078576Ca6f63dc6f78ff9a8ed8bd05B51f463"
}
}
잠금 설정한 NFT 조회 잠금 컨트랙트(contract
) 주소에서 특정 소유자(owner
)의 잠금 설정한 NFT를 조회합니다.
Request URL Path parameters 필드명 설명 타입 필수 여부 contract 잠금 컨트랙트 주소 string Y owner NFT 소유자 주소 string Y
필드명 설명 타입 필수 여부 x-network 블록체인 네트워크{ploygon, xpla} string Y Authorization API를 호출하기 위한 인증 토큰 string Y
Responses 필드명 설명 타입 code api 호출 결과 코드, 0:성공 number message 결과 메시지 string data API 응답 데이터 json data.tokens 잠금 설정한 NFT 목록 array data.tokens.owner NFT 소유자 지갑 주소 string data.tokens.nftAddress NFT 컨트랙트 주소 string data.tokens.tokenId NFT ID string
Request sample curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/lock/contract/0xa245824a24daf3b312d3f59c7debf162c4993e8b/account/0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765/tokens'
-H 'accept: application/json'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'x-network: polygon'
Response sample {
"code" : 0 ,
"message" : "success" ,
"data" : {
"tokens" : [
{
"owner" : "0xA10078576Ca6f63dc6f78ff9a8ed8bd05B51f463" ,
"nftAddress" : "0xeBd9144485089EbE248f8490984A60579407c262" ,
"tokenId" : "2"
}
]
}
}