Ternoa indexer is a record of the Ternoa Chain data. You can query data for some specific entities (NFT, Collection, Marketplace(...)) using graphql. In this example, we use the graphql-request library.
Step 1: transmissionEntity query preparation
You first need to prepare a stringified query to get the protocol data from a specific NFT id. Here are detailed the parameters available for the transmissionEntity:
`nftId`: The NFT id - String
`from`: The NFT sender after protocol execution - String
`to`: The NFT recipient after protocol execution - String
`isActive`: Boolean flag: true if the protocol is currently active, false otherwise. - Boolean
`isThresholdReached`: Boolean flag: true if the threshold of the expected number of consent is reached, false otherwise. - Boolean
`protocol`: The protocol kind : AtBlock, AtBlockWithReset, OnConsent or OnConsentAtBlock - String
`endBlock`: The protocol transmission block id - Number
`consentList`: The protocol expected consent list of address - An Array of String
`currentConsent`: The current consented list of addresses - An Array of String
`threshold`: The minimum threshold of consent to execute protocol - Number
`cancellation`: The cancellation kind: Anytime, None, or untilBlock - String
`cancellationBlock`: The untilBlock block id when cancellation is set to untilBlock - number
`timestampCreated`: The protocol creation timestamp. Date
`timestampRemoved`: The protocol removing timestamp. Date
`timestampUpdated`: The protocol update timestamp. Date
`timestampTransmitted`: DaThe protocol transmission timestamp. Date
Do not hesitate to adapt the information you require in your query and replace PROTOCOL_NFT_ID with the NFT id you want to get the information from (e.g. the NFT id from the NFT previously used in "How to set a Transmission Protocol for an NFT"):
{
transmissionEntity(id: "${id}") {
from
to
isActive
isThresholdReached
protocol
endBlock
consentList
currentConsent
threshold
cancellation
cancellationBlock
}
}
Step 2: Sending the request to the Indexer
Once the query is ready, you can request our Indexer instances by providing both the indexer endpoint and the query.
Replace PROTOCOL_NFT_ID in the following code snippet with the NFT ID previously used in "How to set a Transmission Protocol for an NFT"):
The getProtocolData function is an asynchronous function that sends a GraphQL request using the request function from the "graphql-request" library. The response from the server is an object with a property transmissionEntity that has the data of the requested Transmission NFT entity.
Support
If you face any trouble, feel free to reach out to our community engineers in our Discord.