daml/ledger/ledger-on-memory
Samir Talwar 4b8b67a1b5
Upgrade Scalatest to v3.2.9. (#10576)
* Upgrade Scalatest to v3.2.9.

Because of some coupling we also have to upgrade Scalaz to the latest
v7.2 point release, v7.2.33.

The Scalatest changes are quite involved because the JAR has been broken
up into several smaller JARs. Because Bazel expects us to specify all
dependencies and doesn't allow transitive dependencies to be used
directly, this means that we need to specify the explicit Scalatest
components that we use.

As you can imagine, this results in quite a big set of changes. They
are, however, constrained to dependency management; all the code remains
the same.

CHANGELOG_BEGIN
CHANGELOG_END

* http-json-oracle: Fix a Scalatest dependency.

* ledger-api-client: Fix a Scalatest dependency.
2021-08-12 23:19:35 +00:00
..
src participant-integration-api: Always wait for the first config lookup. (#10500) 2021-08-06 12:47:31 +00:00
BUILD.bazel Upgrade Scalatest to v3.2.9. (#10576) 2021-08-12 23:19:35 +00:00
README.md Delete the Docker image targets. (#7932) 2020-11-11 07:40:06 +00:00

Overview

This document is to help internal engineers work with ledger-on-memory.

ledger-on-memory is a key/value-based ledger that uses a simple in-memory map as an underlying storage. It uses either H2 or PostgreSQL as its index database.

Ledger On Memory

To build a fat JAR with the server built from HEAD run

bazel build //ledger/ledger-on-memory:app_deploy.jar

The application can be run from command line with the following command:

java -Xmx4G -XX:+UseG1GC -jar bazel-bin/ledger/ledger-on-memory/app_deploy.jar --participant participant-id=foo,port=6861

As run from the main project root directory (adjust the location of the JAR according to your working directory).

Alternatively, the application can be run using the Bazel command:

bazel run //ledger/ledger-on-memory:app -- --participant participant-id=foo,port=6861

Creating ledger exports

Ledger On Memory can be used to generate ledger exports through an environment variable:

export KVUTILS_LEDGER_EXPORT=/path/to/export/file

Then launch the ledger using the Bazel or Java command as described above.