DOCUMENTS

Documents of the BORA project.

RandomNumber APIs

RandomNumber API는 난수를 생성/조회/검증 하기 위한 API들입니다.

1 난수 생성 요청

POST /sc/randomnumber/v2/admin/{contractId}/requestrandom HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*RandomNumber contract IDurlint
account*난수를 생성할 사용자 지갑 주소formDatastring, length(42)
blockOffset*blockOffset만큼 Block이 생성된 이후 난수를 생성함formDataint, minimum(0)
maxNumber*생성할 난수의 최대값formDataint

Response

{
"status": 200,
"data: {
"tx_hash": "0x4e6645aa749faca3cf16140d45f8180d1fd8c2fada732faf5beeaa35519b76c5",
"seq": 12 }
}

2 난수 결과 요청

GET /sc/randomnumber/v2/randomnumber/{contractId}/getrandom HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*RandomNumber contract IDurlint
account*난수를 생성 요청한 사용자 지갑 주소querystring, length(42)
seq*난수 생성 요청 시 발급 받은 seqqueryint

Response

{
"status": 200,
"data: {
"id": 11,
"contract_id": 4,
"account": "0x9961064b96c71ce47f3a14a1c7456de7fb5ec644",
"request_block_no": 10684,
"block_offset": 1,
"expected_block_no": 10685,
"block_hash": "0x474bd720ebafa9c17f81b2c9a4f9e2452ed4ebc1ec81c0f89dc49f226094b37b",
"seed": "0xa5f369b0eb0f4327768b50fcfccb66569c85d84e87882847364b55d8c25181bf",
"sequence": 12,
"min_number": 1,
"max_number": 100,
"random_number": 15,
"app_no": 100004,
"tx_hash": "0x4e6645aa749faca3cf16140d45f8180d1fd8c2fada732faf5beeaa35519b76c5",
"verified": 1,
"created_at": "2019-02-13 19:25:55",
"updated_at": "2019-02-13 19:25:58"
}
}

3 난수 검증 요청

GET /sc/randomnumber/v2/randomnumber/{contractId}/verifyrandom HTTP/1.1
HOST: testnet-chain-api.boraecosystem.com

Parameters

ParameterRequiredValuesDescriptionParameter TypeData Type
Authorization*Bearer {Client's AccessToken}headerstring
contractId*RandomNumber contract IDurlint
account*난수를 생성 요청한 사용자 지갑 주소querystring, length(42)
reqBlockNum*난수 생성 결과의 request_block_noqueryint
blockOffset*난수 생성 요청 시 입력한 blockOffsetqueryint
seq*난수 생성 요청 시 발급 받은 seqqueryint
maxNumber*난수 생성 요청 시 입력한 maxNumberqueryint

Response

{
"status": 200,
"data: {
"status": 1,
"blockHash": "0x474bd720ebafa9c17f81b2c9a4f9e2452ed4ebc1ec81c0f89dc49f226094b37b",
"seed": "0xa5f369b0eb0f4327768b50fcfccb66569c85d84e87882847364b55d8c25181bf",
"random": 15,
"lastSeq": 13,
"expBlockNum": 10685,
"currBlockNum": 10701
}
}

에러 코드

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: 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