3.1.7.5 Publishing a Contact Record

To publish a contact record, a new record MUST be created as specified in section 3.1.7.2. If there is already a contact record in the graph database with its Deleted flag unset and with the local node's node ID, the values from the previous contact record MUST replace those already assigned in the new record. In addition, the record fields MUST be set as follows:

  • The Modification Time MUST be set to the current peer time.

  • The Expiration Time MUST be set to the current peer time + 900 seconds.

  • The Record Type MUST be set to the GUID {00000300-0000-0000-0000-000000000000}.

  • The Signature MUST be set to the graph signature stored in the Signature Record in the local node's database. The Node ID MUST be set to the local node ID.

  • The Addresses field MUST include the list of addresses at which the local node is listening, stored in Listening addresses (see section 3.1.1).

  • The Autorefresh flag MUST be set.

If there already exists a contact record in the graph database with its Deleted flag unset and with the local node's node ID, the record MUST be updated using the newly created record, as specified in section 3.1.7.8. Otherwise, the new record MUST be published; see section 3.1.7.3.