SDK
An SDK (Software Development Kit) can help accelerate the development process by providing libraries and tools.
Marlowe has a REST API with many endpoints and parameters. An effective SDK aims to help developers avoid problems such as JSON serialization, constructing proper request formats, and finding the correct inputs from documentation.
The following languages are currently supported by IOG:
An example of how an SDK is useful can be seen from the API schema. Instead, the Marlowe's TypeScript SDK provides a GetContractsRequest
method that can take in optional properties.
This example would show that party addresses, roles, tags, and a range are parts of an operation for getting contracts. A developer would have the option to learn about these properties through their coding environment rather than scanning through the API reference.
Although new SDKs can be created in the future, it is impractical to have an exhaustive list of all possible languages. Furthermore, third party SDKs may also emerge as the community expands on the existing ecosystem. Developers who are using SDKs to build and deploy smart contracts should still spend time validating code used within abstractions.