Project

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

Project Health

Health is good. Transact has been fully integrated into the Sawtooth Validator, replacing the Python transaction execution platform.

Questions/Issues for the TSC

No issues currently.

Releases

Since project creation, the project has had 19 releases. The current release is 0.3.6. 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 continues to be held in RocketChat.

  • Replaced the signing module in libtransact with cylinder
  • Updated to the Scheduler and Executor APIs to improve usage
  • Made various bug fixes and improvements

Current Plans

Next steps include:

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

Maintainer Diversity

The maintainer diversity currently matches that of the initial project sponsor companies.

Contributor Diversity

There were a total of 5 contributors in the last quarter, up from 3 last quarter.

Additional Information

Reviewed By


5 Comments

  1. Re: "Replaced the signing module in libtransact with cylinder"

    The initial project proposal lists that the Hyperledger Transact [quote from the proposal] "will include pluggable support (not implementations) for signing and hashing, with built-in support for Ursa". How is the abstraction supported for users of Transact to choose between ursa and cylinder?

    Ref: https://docs.google.com/document/d/13d0cMReGOhK13BbdgMOFZy_prUzqWBXWc4nlI7mehpY/edit

    1. This abstraction is now delegated to cylinder, but otherwise it remains true.

  2. Do you have any insights into the impact (positive or negative) on the change in Sawtooth? I'm thinking of code size and performance in particular.


    1. From a code size perspective, this removes a lot of Python code from Sawtooth (and Sawtooth 2 will be 100% Rust, so this is an important step). From a performance perspective – we don't have performance data yet, as we are going to do performance testing/analysis of Sawtooth after the rest of the python is removed. We believe Transact is significantly faster but there are a lot of other factors which impact Sawtooth's performance as well, so we will need to collect the data and iterate on the hot spots.

  3. At the last TSC call we decided to request the project reports to include relevant data from the LF Insights tool to make it easier to get that information while reviewing reports (see Add Insights dashboard reference to quarterly reports). Although we're still looking into some of the details on how this would best be implemented, in the meantime, please add the following link to your report (and from then on carry over the link with rolling dates so that it is scoped to the last 3 months):

    https://insights.lfx.linuxfoundation.org/projects/hyperledger%2Ftransact/dashboard?time=%7B%22from%22:%222020-08-12T22:00:00.000Z%22,%22type%22:%22absolute%22,%22to%22:%222020-11-11T23:00:00.000Z%22%7D

    Thanks.