Using the Sawtooth SDKs

Sawtooth provides SDKs in several languages to help with application development.

Summary of Available SDKs

The Sawtooth SDKs are in the following repositories:

The following table summarizes the Sawtooth SDKs. It shows the feature completeness, API stability, and maturity level for the client signing, transaction processors, and state delta features.

  Client Signing     Transaction Processor     State Delta    
  Complete? Stable API? Maturity Complete? Stable API? Maturity Complete? Stable API? Maturity
Python 1 1 1
Go 1 1 1
JavaScript 1 2 2
Rust   1   1   1
Java     3     3     3
C++     3     3     3
Swift     3 N/A N/A N/A N/A N/A N/A

A stable API means that the Sawtooth development team is committed to backward compatibility for future changes. Other APIs could change, which would require updates to application code.

The Maturity column shows the general maturity level of each feature:

  1. Recommended: Well supported and heavily used
  2. Community support only (core maintainers do not update these SDKs)
  3. Experimental: Might have known issues and future API changes

The rest of this section has tutorials for the fully supported SDKs.