ELADR API Documentation - eduladder/eladrProtocolBackend GitHub Wiki

Check Server Status

GET Request: http://localhost:8000/eladr

Description: Check if the server is up and running.

Postman Screenshot:
image

Response JSON:

{
 "ipfsStatus": {},
 "eladrPrice": "",
 "totalVolume": "",
 "marketCap:": ""
}

Validate Token

GET Request: http://localhost:8000/evaluvate/wallet_address_here

Description: Validate whether a certain address owns any token.

Postman Screenshot:
image

Path Parameters:

Template  -->  /:address 
Example   -->  /addr1qxz5kymdh0j49emj5dzjpv7mdnacdzvmahefadsp3rkypkll54hl9gsny78lpvlvc2ktx6ww3zhysuja7p3fyzs0zjzq4dxest

Response JSON:

[
 {
     "policy": "2d420236ffaada336c21e3f4520b799f6e246d8618f2fc89a4907da6",
     "name": "EduladderToken",
     "fingerPrint": "asset1ny2ehvl20cp5y7mmn5qq332sgdncdmsgrcqlwh",
     "balance": "11,342.136042"
 },
 {
     "policy": "",
     "name": "",
     "fingerPrint": "",
     "balance": ""
 }
]

Post Metadata

POST Request: http://localhost:8000/meta

Description: Post metadata to IPFS.

Postman Screenshot:
image

Request Body JSON:

{
 "name":"moonman",
 "description":"gif-0",
 "wallet":"addr1qxz5kymdh0j49emj5dzjpv7mdnacdzvmahefadsp3rkypkll54hl9gsny78lpvlvc2ktx6ww3zhysuja7p3fyzs0zjzq4dxest",
 "fileHash":"QmNu7czQQpmVjKtxGZFVBjN2rcmg9eC9HvpMfGU4Z2fVtR"
}

Response JSON:

https://gateway.ipfs.io/ipfs/QmTwUQCSZQc7ptD9eQRowK38T8kTBxfLmvWonCBcnbWgsd

Fetch Metadata

GET Request: http://localhost:8000/meta/metadata_hash_here

Description: Fetch metadata by CID hash from IPFS.

Postman Screenshot:
image

Path Parameters:

Template  -->  /:hash
Example   -->  /QmTwUQCSZQc7ptD9eQRowK38T8kTBxfLmvWonCBcnbWgsd

Response JSON:

{
 "name":"moonman",
 "description":"gif-0",
 "wallet":"addr1qxz5kymdh0j49emj5dzjpv7mdnacdzvmahefadsp3rkypkll54hl9gsny78lpvlvc2ktx6ww3zhysuja7p3fyzs0zjzq4dxest",
 "fileHash":"QmNu7czQQpmVjKtxGZFVBjN2rcmg9eC9HvpMfGU4Z2fVtR"
}

Upload File

POST Request: http://localhost:8000/meta

http://localhost:8000/file

Description: Upload media file IPFS.

Postman Screenshot:
image

Request Form Data:
image

Response JSON:

https://gateway.ipfs.io/ipfs/QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH

Fetch Uploaded File

GET Request: http://localhost:8000/file/file_hash_here

Description: Fetch media file by CID hash from IPFS.

Postman Screenshot:
image

Path Parameters:

Template  -->  /:hash
Example   -->  /QmNu7czQQpmVjKtxGZFVBjN2rcmg9eC9HvpMfGU4Z2fVtR

Response JSON:

https://gateway.ipfs.io/ipfs/QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH

Post To Database

POST Request: http://localhost:8000/database

Description: Post metadata hash and other details to database.

Postman Screenshot:
image

Request Body JSON:

{
 "vidHash":"video",
 "metaHash":"meta",
 "wallet":"wallet",
 "title":"title",
 "description":"description"
}

Response JSON:

{
 "myDate": "2022-10-21T14:09:25.974Z",
 "id": 1,
 "hashvideo": "video",
 "hashmeta": "meta",
 "wallet": "wallet",
 "title": "title",
 "description": "description",
 "updatedAt": "2022-10-21T14:09:25.978Z",
 "createdAt": "2022-10-21T14:09:25.978Z"
}

Fetch From Database

GET Request: http://localhost:8000/database/record_id

Description: Fetch details from database by id.

Postman Screenshot:
image

Path Parameters:

Template  -->  /:id
Example   -->  /3

Response JSON:

{
 "id": 1,
 "hashvideo": "video",
 "hashmeta": "meta",
 "wallet": "wallet",
 "title": "title",
 "description": "description",
 "myDate": "2022-10-21T14:09:25.000Z",
 "createdAt": "2022-10-21T14:09:25.000Z",
 "updatedAt": "2022-10-21T14:09:25.000Z"
}

Fetch All Database Records

GET Request: http://localhost:8000/files

Description: Fetch all records from database.

Postman Screenshot:
image

Response JSON:

[
 {
     "id": 1,
     "hashvideo": "video",
     "hashmeta": "meta",
     "wallet": "wallet",
     "title": "title",
     "description": "description",
     "myDate": "2022-10-21T14:09:25.000Z",
     "createdAt": "2022-10-21T14:09:25.000Z",
     "updatedAt": "2022-10-21T14:09:25.000Z"
 },
 {
     "id": 2,
     "hashvideo": "video901283",
     "hashmeta": "meta132123",
     "wallet": "wallet123123",
     "title": "title1",
     "description": "description1",
     "myDate": "2022-10-21T18:03:02.000Z",
     "createdAt": "2022-10-21T18:03:02.000Z",
     "updatedAt": "2022-10-21T18:03:02.000Z"
 }, 
 ...
]

Search Term

POST Request: http://localhost:8000/search/search_term_here

Description: Search records from the database by video hash, title or description, and sort the responses by frequency of search term in them.

Postman Screenshots:

Search By Title or Description:
image

Search By Video Hash:
image

Path Parameters:

Template  -->  /:searchTerm
Example   -->  /QmYY1AkuDCV2C7EPN3vggRJqSFzt7sApS9PJPoXbgAzeNv
               /Genesis
               /GIF

Response JSON:

[
 {
     "id": 3,
     "hashvideo": "vidHash",
     "hashmeta": "QmSV7kCj",
     "wallet": "addr1qxz5kymdh0j49emj5dzjpv7mdnacdzvmahefadsp3rkypkll54hl9gsny78lpvlvc2ktx6ww3zhysuja7p3fyzs0zjzq4dxest",
     "title": "old old old",
     "description": "very new new",
     "myDate": "2022-10-29T06:03:33.000Z",
     "createdAt": "2022-10-29T06:03:33.000Z",
     "updatedAt": "2022-10-29T06:03:33.000Z",
     "score": 5.657784907242558e-9
 },
 {
     "id": 2,
     "hashvideo": "vidHash",
     "hashmeta": "QmSV7kCj",
     "wallet": "addr1qxz5kymdh0j49emj5dzjpv7mdnacdzvmahefadsp3rkypkll54hl9gsny78lpvlvc2ktx6ww3zhysuja7p3fyzs0zjzq4dxest",
     "title": "old old",
     "description": "very new new",
     "myDate": "2022-10-29T06:03:29.000Z",
     "createdAt": "2022-10-29T06:03:29.000Z",
     "updatedAt": "2022-10-29T06:03:29.000Z",
     "score": 3.771856604828372e-9
 },
 {
     "id": 1,
     "hashvideo": "vidHash",
     "hashmeta": "QmSV7kCj",
     "wallet": "addr1qxz5kymdh0j49emj5dzjpv7mdnacdzvmahefadsp3rkypkll54hl9gsny78lpvlvc2ktx6ww3zhysuja7p3fyzs0zjzq4dxest",
     "title": "old",
     "description": "very new new",
     "myDate": "2022-10-29T06:03:22.000Z",
     "createdAt": "2022-10-29T06:03:22.000Z",
     "updatedAt": "2022-10-29T06:03:22.000Z",
     "score": 1.885928302414186e-9
 }
]

⚠️ **GitHub.com Fallback** ⚠️