@@ -625,6 +627,7 @@ Such a document informs a node on current node's status, either connected, up, o
Type: Status
Currency: CURRENCY_NAME
Status: STATUS
Block: BLOCK
From: SENDER
To: RECIPIENT
...
...
@@ -635,6 +638,7 @@ Field | Description
`Type` | The document type.
`Currency` | contains the name of the currency.
`Status` | Status type to be sent.
`Block` | Block number and hash. Value is used to target a blockchain and precise time reference.
`From` | Issuer's public key for this message.
`To` | Recipient's public key for this message.
...
...
@@ -676,10 +680,6 @@ members | Synonym of `members(t = now)`, `wot(t)`, `community(t)` targeting th
## Processing
### Peer
Peer document is to be considered *neutral*, i.e. it does not have specific rules of interpretation. If a P2P node receives such document, it is free on how to handle it.
### Block
A Block can be accepted only if it respects a set of rules, here divided in 2 parts : *local* and *global*.
...
...
@@ -927,7 +927,32 @@ Where:
* For each UD source, the amount must match the exact targeted UD value
* For each Transaction source, the amount must match the exact Output value
### Peer
#### Global validation
##### Block
* `Block` field must target an existing block in the blockchain, or target special block `0-DA39A3EE5E6B4B0D3255BFEF95601890AFD80709`.
#### Interpretation
* A Peer document SHOULD NOT be interpreted if its `Block` field is anterior to previously recorded Peer document for a same `PublicKey` key.
### Status
#### Global validation
##### Block
* `Block` field must target an existing block in the blockchain, or target special block `0-DA39A3EE5E6B4B0D3255BFEF95601890AFD80709`.
#### Interpretation
* A Status document SHOULD NOT be interpreted if its `Block` field is anterior or equal to previously recorded Status document for a same `From` key.
#### Behavior
The network needs to be able to discover new peers inside it and eventually know their state to efficiently send data to them. For that purpose [Status](./#status) messages are used to introduce nodes to each other and keep a bilateral state of the connection.
Protocol is the following: for a given node receiving `Receives` message, it should answer `Answers` status type and apply `Impacts` rules.