AIP 6: Signal Messages
Author | Dmitriy Soloduhin |
---|---|
Discussions-To | https://github.com/Adamant-im/AIPs/issues/9 |
Status | Accepted |
Type | Standards |
Category | ARC |
Created | 2018-06-09 |
Requires | 4 |
Hidden (system) messages for different services.
Abstract
Sometimes it is needed to send encrypted messages, that shouldn’t appear in chats (hidden). This system messages will be called Signals. Signals should be used for User-Service or Service-Service communications. Example is Register for Push notifications message.
Specification
Signal messages follows encryption algorithm defined in AIP-4.
Chat type
of signal messages is 3
. This chat type should not be returned on chat endpoints on any compliant node, unless request for this chat type is forced by corresponding filter.
Clients should not make be this messages visible in dialogs.
Syntax
Structure of transaction asset
:
chat: {
message: "HEXIFIED_ENCRYPTED_MESSAGE"
own_message: "HEXIFIED_NONCE"
type: 3
}
Examples
{
"transaction": {
"type": 8,
"amount": 0,
"senderId": "U15677078342684640219",
"senderPublicKey": "e16e624fd0a5123294b448c21f30a07a043...",
"asset": {
"chat": {
"message": "70cbd07ff2ceaf0fc38a01ef9...",
"own_message": "e98794eaedf47e...",
"type": 3
}
},
"recipientId": "U10629337621822775991",
"timestamp": 46116887,
"signature": "8fc2a54604109a6fcdccec2..."
}
}
Subscribes user iOS device for Push notifications. U10629337621822775991 is general iOS Push Notification Service address.
Rationale
Some sort of client-service communication is needed for internal processes, such as Push server registration. This process should take place on ADAMANT network itself, instead of relying of some third party transfer medium. This type of messages should follow all security guidelines, and must not disturb users with technic data.
Copyright
Copyright and related rights waived via CC0.