2021 Q3 Hyperledger Transact

Created by Andrea Gunderson, last modified by Gari Singh on Oct 16, 2021

Project Health

Health is good. Work continues to focus on improving performance of SQL database support, as well as continued work on workload tools that can be leveraged by different distributed ledgers for performance and stability testing.

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 ? no

Questions/Issues for the TSC

No issues currently.

Releases

Since project creation, the project has had 20 releases. The current release is 0.3.7. 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.

  • Experimental support of SQLite and Postgres merkle-radix tree has been added. Along with state pruning.
  • An example application that uses the command family workload to submit transactions directly to sabre was added.
  • Improved workload command rate submission to be more accurate.
  • Modified workload to handle a TooManyRequests response and slow the submission rate until able to submit transactions again.
  • Added `command` as a workload type to the transact workload subcommand.

Current Plans

Next steps include:

  • Move Sawtooth Sabre (wasm engine) into Transact
  • Complete and stabilize SQL database support
  • Reorganization of the project’s crate structure
  • Setup a documentation site to help explain/advocate the project

Future:

  • 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

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

Contributor Diversity

There were a total of 6 contributors in the last quarter, one more than last quarter.

Additional Information

Insights from  May 25th 2021 to August 25 2021

https://insights.lfx.linuxfoundation.org/projects/hyperledger%2Ftransact/dashboard;subTab=technical?time=%7B%22from%22:%222021-05-25T05:00:00.000Z%22,%22type%22:%22absolute%22,%22to%22:%222021-08-25T14:00:47.782Z%22%7D

Reviewed By

Comments:

Have you implemented the Common Repository Structure in all your repos ? no

Andrea GundersonWhen do you expect to implement the common repository structure?

Posted by tkuhrt at Aug 25, 2021 17:03

FYI, here is the common repository structure definition: https://tsc.hyperledger.org/repository-structure.html

Posted by lehors at Aug 25, 2021 17:09

This question used to be specifically about repolinter, which we have no plans to implement in our CI flow. However, the projects we are involved with including Transact are consistent with the majority of the repo structure doc Arnaud linked. (And have been for years, as most of this stuff isn't new.)

There are a few minor deviations we don't plan to address currently: RELEASE_NOTES.md instead of CHANGELOG, and SPDX headers (which we've debated in the past and are not approved by our contributors which require full header text as suggested by the license). Those are the only deviations though AFAIK.

Posted by amundson at Aug 25, 2021 18:06

Arnaud J Le HorsRy Jones  : We need to get the project report template updated to point to this link instead of the one pointed to currently.

Posted by tkuhrt at Aug 25, 2021 19:38

done

Posted by ryjones at Aug 25, 2021 20:08

Hi Shawn,
I brought this question up for discussion a few weeks ago. On the `RELEASE_NOTES.md` instead of `CHANGELOG`: There was a suggestion from the TSC to include `CHANGELOG` as a mandatory file and the contents of this file can be a link to RELEASE_NOTES.md file. This is to have common repository structure, still give flexibility for projects to maintain how the information is captured.

Posted by arsulegai at Aug 26, 2021 13:55

Per SPDX recommendations the full text and the SPDX headers are OK and in fact some cases preferred.  Hyperledger Besu does full text plus SPDX headers.

https://spdx.github.io/spdx-spec/appendix-V-using-SPDX-short-identifiers-in-source-files/

Posted by shemnon at Sep 02, 2021 14:02