Hyperledger Transact - https://github.com/hyperledger/transact

Project Health

Health is good. In the last quarter there were 2 releases and the Sawtooth Sabre transaction handler was moved over. This allows for simplification of dependencies for projects using Transact and Sabre.

Required Information

  1. Have you switched from master to main in all your repos? Yes
  2. Have you implemented the Common Repository Structure in all your repos? Yes
  3. Has your project implemented these inclusive language changes listed below to your repo? You can optionally use the DCI Lint tool to make this a recurring action on your repo.
    1. master → main: Yes
    2. slave → replicas: N/A
    3. blacklist → denylist: N/A
    4. whitelist → allowlist: Yes
  4. Have you added an Inclusive Language Statement to your project's documentation and/or Wiki pages? No

Questions/Issues for the TSC

No issues currently.


Since project creation, the project has had 30 releases. The current release is 0.4.3. The releases are available on crates.io: https://crates.io/crates/transact/versions

Overall Activity in the Past Quarter

Continued incremental improvements to the initial code base. Additional activity shown below. The primary method of discussion has been moved to Discord.

Additional work:

  • Moved Sawtooth Sabre (wasm engine) into Transact. The Sawtooth Sabre transaction processor now pulls in the transaction handler from Transact. (not released)
  • Transact workload improvements
    • Reduced the CPU usage
    • Added remaining duration of the run to the logs
  • Stabilized the "workload-batch-gen" feature in libtransact

Current Plans

Next steps include:

  • Add state caching to improve read performance with large state values
  • Re-evaluate threading model for batch scheduling and execution
  • Setup a documentation site to help explain/advocate the project


  • Add a next-generation smart contract API / simplified smart contracts (cross-project with Sawtooth, in progress)
  • Further develop the Transact SDK for JavaScript

Maintainer Diversity

Maintainers are the same as the previous quarter.

Contributor Diversity

There were a total of 5 contributors in the last quarter.

Additional Information

Insights from November 25th 2021 to February 25th 2022


Reviewed By

Submission date

$action.dateFormatter.formatGivenString("dd-MMM-yyyy", $content.getCreationDate())


  1. Tracy Kuhrt should we phrase the question as "Are you following  Inclusive Language Statement in your project's documentation and/or Wiki pages?".

    I was under the impression that these are examples/guidelines for maintainers to follow. If I go with that understanding, the way currently the question is framed, acceptable answers can be "Yes" or "Waiting to verify". Answering with a "No" to this question would give otherwise meaning.

    1. This is probably not the right place to have this discussion, but I followed #4 of the Implementation Proposal that we approved.

    2. Hey Arun, I just want to clarify, my understanding of this question was asking if we had added that statement to our documentation, which we have not yet. Not whether our documentation meets that standard, which I believe it does.

  2. Sorry for my 101-level question on Transact, but I see the following bullet in your update and would like to ask for some clarification:

    • Moved Sawtooth Sabre (wasm engine) into Transact. The Sawtooth Sabre transaction processor now pulls in the transaction handler from Transact. (not released)

    Does this mean Transact is now being used by Sawtooth? If so, is that the only blockchain implementation that uses Transact as of now?

    The reason I'm asking is I wonder if the proof point of Transact's design would be adoption by at least two blockchain protocol implementations, say Sawtooth and Fabric. If you agree with that, do you have a view to when (or if) that might happen?

    1. Sawtooth has been using Transact for quite some time. It is used in released versions of Sawtooth Sabre, the Sawtooth Library crate, and the current main of Sawtooth core. Transact is also already used by Cargill's Splinter (a privacy-focused platform for distributed applications). There is not currently a plan to integrate Transact into Fabric.

      1. Note that Fabric team did assess using Transact, we concluded that it has compelling design points but it didn't align well in terms of function and library bindings.