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
- Angelo De Caro
- Arnaud J Le Hors
- Arun S M
- Baohua Yang
- Bobbi Muscara
- Danno Ferrin
- David Enyeart
- Gari Singh
- Grace Hartley
- Hart Montgomery
- Maria Teresa Nieto
- Mark Wagner
- Nathan George
- Tracy Kuhrt
- Troy Ronda
5 Comments
Arun S M
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
Shawn Amundson
This abstraction is now delegated to cylinder, but otherwise it remains true.
Arnaud J Le Hors
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.
Shawn Amundson
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.
Arnaud J Le Hors
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.