Please describe your proposed solution
Blaze will develop dedicated tools which can handle script deployments. These tools will appear as the following:
- Library functions for "locking" a script, which involves sending a minimal UTxO to a lock address with a script reference
- Serialising and parsing deployment information into files which can be used to record and later reference these locked UTxOs
- Type-safe and secure functions and utils for managing script deployments, including checking if a script is already deployed via cached builds and chain queries
- Utilities for integrating script deployments with continuous deployment (CD)
- Declarative model for deploying scripts (similar to IaC tools like Terraform)
The basis for such tools are used in Butane's off-chain, where updated scripts can be automatically checked and deployed to the Preview network, and unchanged scripts aren't redeployed unnecessarily. As an extension to this model, hosted servers could be provisioned which handle the transaction building and provide the necessary means for a development team to use script deployments in their CD without them needing to manage a wallet themselves.