Hyperledger Sawtooth provides a pragmatic REST API for clients to interact with a validator using common HTTP standards. There are a many ways to make a REST API request, but the process to build a transaction, batch, encode a payload, and submit them to validator nodes is not easy. Hyperledger Sawtooth provides several SDKs for different languages, such as Python, Go, Java, and JavaScript, to greatly simplify the process of developing client applications to interact with the Sawtooth network.
In this recipe, we will build a client application for our example with the Sawtooth Python SDK and follow the Sawtooth XO transaction family as a template. The full source code for the example is available at GitHub. The basic flow to submit a transaction is shown in the following diagram: