Databases

Permanent Data

The following databases store data permanently, i.e. the data (for now) is never deleted.

activity

The activity database stores ActivityPub activities that are posted to the outbox or received in the inbox.

activity-ref

The activity-ref database stores references to the activity database using a RefType tag so that a query may be performed for activities referenced by a certain type. For example, setting the RefType tag to OUTBOX ensures that the activity is included in the result set for a query of activities in the outbox.

Valid values for RefType are:

  1. INBOX

  2. OUTBOX

  3. PUBLIC_OUTBOX

  4. FOLLOWER

  5. FOLLOWING

  6. WITNESS

  7. WITNESSING

  8. LIKE

  9. LIKED

  10. SHARE

  11. ANCHOR_LINKSET

anchor-ref

The anchor_ref database contains the hashlinks (with metadata) of where an anchor (tagged with anchorHash) may be resolved. This includes the local domain, remote domains, and IPFS.

cas

The cas database stores content addressable objects. This database is only used if Orb is configured with the local CAS type.

didanchor

The didanchor database stores the latest anchor hash of a DID suffix.

ldcontexts

The ldcontexts database stores JSON linked-data (JSON-LD) contexts.

log-monitor

The log-monitor database is used to manage the list of logs that domain is following.

log-entry

The log-entry database is used to store the entries of observed logs.

operation

The operation database stores Sidetree operations.

orb-config

The orb-config database stores configuration data.

remoteproviders

TBD

verifiable

The verifiable database store verifiable credentials.

Temporary Data

The following databases (for the most part) contain temporary data that is used only during processing of a batch of operations. The data is deleted after the batch has been processed.

anchor-status

The anchor-status database stores the status of an anchor while it is waiting for witnesses. The status is either in-process or completed. After a sufficient number of proofs have been received for the anchor (according to witness policy) the anchor entry is deleted.

activity-sync

The activity-sync database stores the page number and index of the last activity that was synchronized for each of the domains that are followed. This information is used by the Activity Sync task.

proof-monitor

The proof-monitor database keeps track of the proofs that were received by other domains and ensures that the proofs were added to their VCTs.

operation-queue

The operation-queue database contains the operations posted to the operation queue. Operations are deleted after they have been processed.

unpublished-operation

The unpublished-operation database contains the operations that were posted by a client via the operations endpoint but have not yet been anchored. Operations are deleted from this database after they have been anchored.

witness

The witness database stores the URIs of the domains that were asked for proofs for a given anchor. The witness URIs are deleted from this database after the anchor has been processed.

public-key

The public-key database stores the public keys of witnesses that are used to verify the proofs in anchor credentials signed by the witnesses. When the Observer verifies a proof, it first looks in this database for a public key. If the public key is not found then it is retrieved from the witness and then stored in this database.