daml/ledger/ledger-on-sql/README.md
Samir Talwar 1f35db17c7
ledger-on-sql: Use random log entry ID allocation so we don't depend on SeedService. [KVL-1002] (#10255)
* ledger-on-sql: Abstract out the log entry ID allocator.

This is so we don't need to depend on `SeedService`.

CHANGELOG_BEGIN
CHANGELOG_END

* kvutils: Remove `allocateRandomLogEntryId` from production code.

* kvutils: Remove `SubmissionValidator.create`, as it's only for tests.

And remove default parameters for
`SubmissionValidator.createForTimeMode`.

* ledger-on-sql: Use the random log entry ID allocator.

In Sandbox, we still use the seed service, but this is not necessary
for ledger-on-sql tests.

* kvutils: Make `LogEntryIdAllocator.random` an `object`.

* ledger-on-sql: Move `RandomLogEntryIdAllocator` here.

It's not used anywhere else.

* ledger-on-sql: Add some documentation about the application code.

Just to make it clear it's not used in production.
2021-07-13 17:10:30 +00:00

492 B

Ledger on SQL

This is an implementation of a ledger using kvutils on top of an SQL database. Currently, it can be run on top of H2, PostgreSQL, or SQLite.

The code under src/main implements the logic, using kvutils. This code is production-ready and used by Sandbox.

The code under src/app is a trivial application front-end to the ledger that spins it up, along with a Ledger API Server. This is not intended to be used in production, and is currently only used in testing.