A powerful platform that provides blockchain-based person-to-person communication as well decentralized program interaction.
The Signum messaging system is censorship-free with worldwide availability. It transmits data strings of up to 1000 bytes in length from one account to another through the blockchain. Because this data can be of any form or structure, messages can be plain text public messages that are visible on the blockchain, encrypted private messages that are visible only to the receiver, or data transmissions for interacting with blockchain-based programs or triggering on-chain events.
Because of this versatility, the system is referred to as the “arbitrary messaging system.” It forms the basis for person-to-person text messaging as well as systems communication through the blockchain.
Applications that use this system can implement encoding, decoding, linked messages, data structures, and more. The base implementation is to transmit messages between accounts, but the range of possible applications includes torrent applications, voting systems, data storage systems, distributed applications, and higher-level Signum functions.
Signum messages are encrypted by default. The system uses military-grade public-key cryptology. With public-key cryptology, the sender and receiver do not share a decryption key. Messages are encrypted using the receiving account’s public key but can only be decrypted using the receiving account’s private key. In addition to Signum’s base encryption, supplemental encryption can also be applied using your preferred encryption algorithm.
Public messages are those messages which are intentionally sent as unencrypted data. The content of a public message is visible on the blockchain. This format is mostly used for interacting with on-chain systems where public verifiability is a desirable feature. However, on-chain systems are not limited to this format. Hybrid and closed systems can be designed with full encryption.
Each message incurs the minimum transaction fee when it is transmitted separately as a stand-alone transaction. However, messages that are attached to another transaction are free of transaction fees. For example, there is no additional fee if a reference message is attached to a payment transaction for bookkeeping purposes.
Each wallet application and software package implements the messaging service in slightly different ways. For specifics, refer to the wallet application’s user guide. However, the following are general steps that are common to most applications.
- Open the messages section and click on the link or icon for sending messages.
- Enter the recipient account’s Signum address in the provided field.
- Enter a message of up to 1000 bytes in the message field. (A notification is displayed if a message exceeds this limit).
- Mark the appropriate check-boxes to send as encrypted or plain text.
- Enter the sending account’s passphrase in the passphrase field.
- Click on “Send Message.”
While the network is processing the message, it will appear in italics in the transactions area. After the network has processed the message, it will be listed in regular font. Messages are processed according to the block schedule, which is every four minutes on average.
- Open the messages section for a list of received messages in an in-box style.
- Follow your software’s user guide for specifics on locating specific messages.
- Encrypted messages will display a notification indicating that a passphrase is required to decrypt the message.
- Use the functions provided to reply to the sender’s message if desired.
Sending and Receiving Messages Using the Signum API
All messages can be sent using a wallet interface, but the functions can also be incorporated using the Signum API for programming purposes. See High-Level API calls for implementing arbitrary messages under the Arbitrary Message System Operations section.