Reputation: 190
I have just started learning Corda. I am not clear with difference between ledger, vault and storage service. My queries are with regards to following documents I went through:
Corda technical paper(https://docs.corda.net/_static/corda-technical-whitepaper.pdf): It states "The vault contains data extracted from the ledger that is considered relevant to the node’s owner, stored in a form that can be easily queried and worked with. It also contains private key material that is needed to sign transactions consuming states in the vault."
Corda docs(https://docs.corda.net/key-concepts-node.html): It mentions persistence layer having two parts - vault and storage service.
Queries
Can anyone please help me giving clear picture of database architecture used in corda(I could not clearly understand the diagram at https://docs.corda.net/vault.html)? I don't see "storage service" anywhere in this diagram.
Upvotes: 5
Views: 1518
Reputation: 23140
The storage service is the database backing the node. The vault is a table in that database that tracks states that are relevant to the node. The ledger is a figurative "global log of transactions" that stores every transaction performed by every node (in practice, each node only sees and stores a subset of the transactions on this ledger)
The storage service is another name for the database. The vault is a table in that database. The ledger is just a figure of speech
The ledger is just a figure of speech. The storage service stores everything known to the node
Yes, the vault stores consumed and unconsumed states. Every time a transaction is recorded, the node grabs the relevant states and stores them in its vault too
The storage service contains everything known to the node, including the vault
Upvotes: 11