DSNP Announcements are validated differently depending on the type of Announcement. Batched Announcements are off-chain and MUST be validated at read time. Non-batched Announcements (example: Graph Change), are on-chain and are validated at write time and do not need to be re-validated at read time.
Creation of an Announcement as an on-chain Frequency Message requires that the delegation be validated before adding the message to the chain. Thus, any Graph Change Announcements read from a trusted node, can be trusted to have been made by the DSNP identity or a delegate of the identity at the time the Frequency Message was sent.
- Graph Change
DSNP Announcements that are in a Batch Publication MUST be validated at read time.
The Frequency Message for a Batch Publication has several important fields for validation:
|MSA Id of the provider sending the message|
|The Content IDentifier v1 for IPFS content|
|Expected length of the content from IPFS|
|Block number that the message was recorded on the chain.|
- Retrieve the file from the IPFS network using the
- (Required for non-trusted IPFS nodes) Verify the file hash by comparing it to the hash included in the
- Verify that the byte length of the retrieved file matches the
- Collect the unique set of
- Use the Custom RPC
fromIdvalues as the
msa_checkDelegationsverifies as having a delegation at
block_numberare valid Announcements.
Duplicate Announcements MUST be rejected or ignored.