2022 Q3 Hyperledger Sawtooth

Created by Andrea Gunderson, last modified by Artem Barger on Oct 20, 2022

Hyperledger Sawtooth https://sawtooth.hyperledger.org/

Project Health

In the last quarter focus has been on the Artifact APIs in the Sawtooth Library, contributions to Sawtooth’s underlying dependencies (Transact, Augrim), and extending the Go SDK to include support for consensus engines.

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.
  4. master → main: Yes
  5. slave → replicas: Yes
  6. blacklist → denylist: Yes
  7. whitelist → allowlist: Yes
  8. Have you added an Inclusive Language Statement to your project’s documentation and/or Wiki pages?          We have not added the statement to the documentation yet.

Questions/Issues for the TSC

No new issues.

Releases

No recent releases

Overall Activity in the Past Quarter

Artifact related traits Artifact, ArtifactStore, ArtifactCreator, ArtifactCreatorFactory were added to sawtooth-lib along with the initial traits and structs for a new publisher design.

Sabre performance was improved by implementing state caching in Transact for large pieces of state, such as smart contracts.

Sawtooth Seth has been archived. 

The community continues to discuss Sawtooth-related issues on Discord. The monthly live working sessions continue and now primarily focus on design documents for Sawtooth 2-related work.

Current Plans

The following work is currently in progress:

  • Add support to Go SDK for writing consensus engines
  • Add Go devmove consensus example
  • Merge transaction execution components from Transact into the Sawtooth library
  • Merge some Sabre smart contract engine into Sawtooth library
  • Create a new consensus library that will be used by the Sawtooth validator
  • Sawtooth 2 component designs
  • Rewriting the Sawtooth CLI in Rust (paused)

The following work is currently planned:

  • Initialize a Sawtooth service for Splinter

Plans will continue to be developed as part of the working sessions.

Maintainer Diversity

Maintainers are distributed across Bitwise IO, Cargill, Intel, and Walmart Labs.

Contributor Diversity

Commits from 2022-04-26 to 2022-07-26 :  53

Committers from 2022-04-26 to 2022-07-26 :  5

Domains from 2022-04-26 to 2022-07-26 :  2

Additional Information

Insights https://insights.lfx.linuxfoundation.org/projects/hyperledger%2Fsawtooth/dashboard;subTab=technical?time=%7B%22from%22:%222022-04-26T05:00:00.000Z%22,%22type%22:%22absolute%22,%22to%22:%222022-07-26T05:00:00.000Z%22%7D

Reviewed By

Submission date

27-Jul-2022

Comments:

  1. Have you added an  Inclusive Language Statement  to your project's documentation and/or Wiki pages?
             We have not added the statement to the documentation but besides the instance noted above we believe the documentation is inclusive. 

I believe there may be a mismatch in the question and the answer. The question is attempting to get to a place where information is given to the contributors of Sawtooth code or documentation that they should ensure to use inclusive language in their contributions. The answer seems to answer the question of whether to documentation notes its inclusive nature.

Posted by tkuhrt at Jul 27, 2022 17:47

Artifact related traits Artifact, ArtifactStore, ArtifactCreator, ArtifactCreatorFactory were added to sawtooth-lib along with the initial traits and structs for a new publisher design.

Can you provide more details on what these artifact related traits do within Sawtooth? 

Is the Publisher related to publishing blocks?

Posted by tkuhrt at Jul 27, 2022 17:49

Gotchya, there was some confusion when we had answered this question in the past so I was just trying to cover both. I'll edit it to just say that we have not added it to the website yet.

Posted by agunde at Jul 27, 2022 18:37

Sure. We have some more information on the Splinter website (some of these design docs were written before we revamped the sawtooth website and have not been moved over yet). Information about the artifacts can be found here https://www.splinter.dev/community/planning/artifact_store.html and how they are used by the publisher can be found here https://www.splinter.dev/community/planning/publisher_for_scabbard_v3.html . These design sfocuse on defining a publisher that can be used by both Sawtooth 2.0 and Scabbard (Sabre service in Splinter), where the publishing activity is very similar except for the ending "published" artifact, a Block in Sawtooth and a BatchResult in Scabbard.

Posted by agunde at Jul 27, 2022 18:43