Logo Decentralized Social Network

Fingerprints

Fingerprints of Node API objects always start with a string designating the type of the object. Version of a fingerprint defines a concrete revision of the fingerprint structure if it was changed in backward-incompatible way. The fingerprint version (also known as "signature version") must be returned from Node API call together with the signature.

Attachment, version 0

Type Field Comment
String objectType ATTACHMENT
byte[] digest cryptographic hash of the attachment as a file

Carte, version 2

Type Field Comment
String objectType CARTE
String ownerName
InetAddress address IP address of the client
timestamp beginning timestamp of the beginning of the carte's life
timestamp deadline timestamp of the end of the carte's life
String nodeName if set, the carte is valid for authentication on the specified node only
int clientScope A bit mask describing which permissions should be granted to the carte. If not set, all permissions of the carte's owner are granted. Meaning of particular bits can be seen in the description of Scope enum
int adminScope A bit mask describing which additional administrative permissions (of those granted to the carte's owner by the target node) should be granted to the carte. Meaning of particular bits can be seen in the description of Scope enum
byte[] salt 8 random bytes

Carte, version 1

Type Field Comment
String objectType CARTE
String ownerName
InetAddress address IP address of the client
timestamp beginning timestamp of the beginning of the carte's life
timestamp deadline timestamp of the end of the carte's life
String nodeName if set, the carte is valid for authentication on the specified node only
byte authCategory A bit mask describing which permissions should be granted to the carte. If not set, all permissions of the carte's owner are granted. The bits have the following meaning:
  • other (0x0001) - any other permission not listed below;
  • view-media (0x0002) - view media files.
byte[] salt 8 random bytes

Carte, version 0

Type Field Comment
String objectType CARTE
String ownerName
InetAddress address IP address of the client
timestamp beginning timestamp of the beginning of the carte's life
timestamp deadline timestamp of the end of the carte's life
byte permissions 0 (reserved for future use)
byte[] salt 8 random bytes

Comment, version 0

Type Field Comment
String objectType COMMENT
String ownerName
hash of Posting fingerprint postingFingerprint
hash of Comment fingerprint repliedToFingerprint
byte[] bodySrcHash hash of bodySrc field
String bodySrcFormat
String body
String bodyFormat
timestamp createdAt of the current revision
byte permissions 0 (reserved for future use)
array of hashes of Attachment fingerprint attachments

NotificationPacket, version 1

Type Field Comment
String objectType NOTIFICATION_PACKET
String id
String nodeName
String fullName
timestamp createdAt
String type
String notification

NotificationPacket, version 0

Type Field Comment
String objectType NOTIFICATION_PACKET
String id
String nodeName
timestamp createdAt
String type
String notification

Posting, version 1

Type Field Comment
String objectType POSTING
String receiverName
String ownerName
byte[] bodySrcHash hash of bodySrc field
String bodySrcFormat
String body
String bodyFormat
timestamp createdAt of the current revision
byte permissions 0 (reserved for future use)
array of hashes of Attachment fingerprint attachments if the posting is linked to a media, its fingerprint should be put at the beginning of the list

Posting, version 0

Type Field Comment
String objectType POSTING
String receiverName
String ownerName
byte[] bodySrcHash hash of bodySrc field
String bodySrcFormat
String body
String bodyFormat
timestamp createdAt of the current revision
byte permissions 0 (reserved for future use)
byte attachments 0 (reserved for future use)

PushRelayMessage, version 0

Type Field Comment
String objectType PUSH_RELAY_MESSAGE
timestamp signedAt

PushRelayRegister, version 0

Type Field Comment
String objectType PUSH_RELAY_REGISTER
String clientId
String lang
timestamp signedAt

Reaction, version 0

Type Field Comment
String objectType REACTION
String ownerName
byte[] entryFingerprint hash of Posting or Comment fingerprint
boolean negative
int emoji

SheriffOrder, version 0

Type Field Comment
String objectType SHERIFF_ORDER
String sheriffName
String nodeName
String feedName
byte[] entryFingerprint hash of Posting or Comment fingerprint
String category
String reasonCode
String reasonDetails
timestamp createdAt