In order to externally validate a commit, the original transaction needs to be recorded in the commit file.
We should also know who issued the transaction. If the server is operating in it's sort of "open API mode" where it accepts unsigned transactions, then the server itself should be signing these transactions, and the identity of the issuer needs to be recorded in the commit as the server. If the transaction is pre-signed and validated, then the identity of the signature's author should be recorded.
This is a dependency for another ticket, where we need to update the /history API (and commit-details specifically) to allow for validation of WHO issued a particular commit / update to data state
Implementation Details
the commit file does not actually need to include the entire transaction, it simply needs to refer to it (and also store the txn elsewhere), the way that we store the DB file and then refer to it in the Commit file
the hash of the transaction should be the @id of the original transaction file. We should also have an address that might be fluree:file://...
Description
In order to externally validate a commit, the original transaction needs to be recorded in the commit file.
We should also know who issued the transaction. If the
server
is operating in it's sort of "open API mode" where it accepts unsigned transactions, then the server itself should be signing these transactions, and the identity of the issuer needs to be recorded in the commit as theserver
. If the transaction is pre-signed and validated, then the identity of the signature's author should be recorded.This is a dependency for another ticket, where we need to update the
/history
API (andcommit-details
specifically) to allow for validation of WHO issued a particular commit / update to data stateImplementation Details
DB
file and then refer to it in theCommit
file@id
of the original transaction file. We should also have anaddress
that might befluree:file://...