DOCUMENTS

Documents of the BORA project.

ERC721 APIs

ERC721 API는 ERC721 토큰을 발행/관리/조회 하기 위한 API들입니다.

1 사용자에게 ERC721 토큰 발행 요청

GET /sc/erc721/v1/admin/{appNo}/{contractId}/mintwithtokenuri HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*ERC721 contract IDurlint
to*지급받을 사용자 지갑 주소formDatastring, length(42)
tokenId*발급할 ERC721 Token IDformDataint
tokenURI*발급할 Token의 Metadata URIformDatastring

Response

{
"status": 200,
"data: {
"tx_hash": "0x8da32434d08be077c7995b7cb4b89ab4b8a65ade57004793da20bed19674e1bc"
}
}

2 다른 사용자 또는 컨트랙트에 ERC721 토큰 전송 허용 (approve)

GET /sc/erc721/v1/erc721/{contractId}/approve HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*ERC721 contract IDurlint
memberNo*approve 수행할 사용자 NoformDataint
to*approve 할 대상의 지갑 주소formDatastring, length(42)
tokenId*approve할 Token IDformDataint

Response

{
"status": 200,
"data: {
"tx_hash": "0xd6793c9546bd8c33569e00777b07fa46fe307b958ebe7f81afd895f8fab1c2f9"
}
}

3 다른 사용자의 ERC721 토큰 전송(transferFrom)

GET /sc/erc721/v1/erc721/{contractId}/transferfrom HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*ERC721 contract IDurlint
memberNo*토큰 전송을 수행할 사용자 NoformDataint
from*토큰을 가져올 대상의 지갑 주소formDatastring, length(42)
to*토큰을 전송할 대상의 지갑 주소formDatastring, length(42)
tokenId*전송할 Token IDformDataint

Response

{
"status": 200,
"data: {
"tx_hash": "0x998fadbc39a49532a9540d76eca6c1842a1a734812925863a3be6e6d65a593cb"
}
}

4 사용자의 ERC721 토큰 개수 조회

GET /sc/erc721/v1/erc721/{contractId}/balanceof/{owner} HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*ERC721 contract IDurlint
owner*조회할 사용자 지갑 주소formDatastring, length(42)

Response

{
"status": 200,
"data: {
"result": 3
}
}

5 ERC721 토큰의 소유자 조회

GET /sc/erc721/v1/erc721/{contractId}/ownerof/{tokenId} HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*ERC721 contract IDurlint
tokenId*조회할 Token IDurlint

Response

{
"status": 200,
"data: {
"result": "0x27b73b282f249c42f516e0aa5d8da552681676b7"
}
}

6 ERC721 토큰 조회 (by index)

GET /sc/erc721/v1/erc721/{contractId}/tokenbyindex/{index} HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*ERC721 contract IDurlint
index*조회할 Token의 indexurlint

Response

{
"status": 200,
"data: {
"result": 12
}
}

7 사용자의 ERC721 토큰 조회(by index)

GET /sc/erc721/v1/erc721/{contractId}/tokenofownerbyindex/{owner}/{index} HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*ERC721 contract IDurlint
owner*조회할 사용자 지갑 주소urlstring, length(42)
index*조회할 Token의 indexurlint

Response

{
"status": 200,
"data: {
"result": 12
}
}

8 ERC721 토큰의 URI 조회

GET /sc/erc721/v1/erc721/{contractId}/tokenuri/{tokenId} HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*ERC721 contract IDurlint
tokenId*조회할 Token IDurlint

Response

{
"status": 200,
"data: {
"result": "QmaKppL9Vjk4wv6Wex5D8k1bjsyqH3H6yJbAsWsJb5k5DQ"
}
}

9 ERC721 토큰 전체 발행 개수 조회

GET /sc/erc721/v1/erc721/{contractId}/totalsupply HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*ERC721 contract IDurlint

Response

{
"status": 200,
"data: {
"result": 10
}
}

10 ERC721 토큰의 approve 정보 조회

GET /sc/erc721/v1/erc721/{contractId}/getapproved/{tokenId} HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*ERC721 contract IDurlint
tokenId*조회할 Token IDurlint

Response

{
"status": 200,
"data: {
"result": "0xd35aa28e97fd1cf40bf8b4ebe56fb2670ea1fee3"
}
}

11 ERC721 컨트랙트의 name 조회

GET /sc/erc721/v1/erc721/{contractId}/name HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*ERC721 contract IDurlint

Response

{
"status": 200,
"data: {
"result": "BORA721"
}
}

12 ERC721 컨트랙트의 symbol 조회

GET /sc/erc721/v1/erc721/{contractId}/symbol HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*ERC721 contract IDurlint

Response

{
"status": 200,
"data: {
"result": "1.0.0"
}
}

에러 코드

HTTP CodeStatusDescriptionExample
200400Validation Error: 파라미터가 잘못 되었습니다.
{
"status": 400,
"error": [
{
"message": "integer validation failed on index",
"field": "index",
"validation": "integer"
}
]
}
200401Unauthorized: 권한이 없습니다.
{
"status": 401,
"error": [
{
"message": "E_FORBIDDEN: Access Token is not right",
}
]
}
200404Not Found: 없는 URL 입니다.
{
"status": 404,
"error": [
{
"message": "E_ROUTE_NOT_FOUND: Route not found GET /erc721",
}
]
}
200422Unprocessable Entity: 요청을 처리할 수 없습니다.
{
"status": 422,
"error": [
{
"message": "E_CONTRACT_NOT_FOUND: appNo or contractId not found",
}
]
}
200500Internal Server Error: 서버 내부 오류입니다.
{
"status": 500,
"error": [
{
"message": "E_DATABASE_ERROR: Internal database error",
}
]
}
4XX, 5XX기타 오류
HTTP Code: 503
Body: Reponse: 503, Under Maintenance