funded
Blaze: Tools for Handling and Managing Script Deployments
Current Project Status
In Progress
Amount
Received
₳0
Amount
Requested
₳60,000
Percentage
Received
0.00%
Solution

Blaze will provide dedicated tools to handle the deployment of scripts and the management of deployed scripts. This can be used in CD to automatically deploy updated scripts.

Problem

Many transaction building SDKs exist which projects can use to help with deploying scripts, but no effective solution exists for handling automatic deployments in a secure and reliable manner.

Impact Alignment
Feasibility
Value for Money

Team

2 members

Blaze: Tools for Handling and Managing Script Deployments

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.

Please define the positive impact your project will have on the wider Cardano community

By streamlining the process of script deployments and referencing of relevant UTxOs, the developer experience can be greatly improved and apps will become more reliable. Additionally, by defining a standard, interoperability and cross-protocol integrations can be enhanced, as developers can easily use deployed scripts from other protocols.

What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?

The Butane team has demonstrated itself as one of the top development teams in Cardano, producing a highly well-received protocol testnet and yellowpaper which has encouraged community and developer confidence in their technical merit. Blaze, in its current state, already offers a clean and efficient transaction building SDK and emulator that is being integrated within Butane to be used as the protocol's off-chain component.

Given the project is open source and has utility to effectively all developers on Cardano, the intention is to gather feedback from the developer community to shape Blaze into a highly efficient and usable platform for building applications on.

What are the key milestones you need to achieve in order to complete your project successfully?

Milestone 1: Script Deployments

A: Milestone Outputs

  • Declarative / type-safe utilities making advanced use of typescript
  • Utility functions for easing the deployment of scripts to the network
  • Reconciles declarative goals with chain cache

B: Acceptance Criteria

  • The developed functions work as expected and are simple to use

C: Evidence of Milestone Completion

  • A working MVP for script deployment

Milestone 2: Management of deployed scripts

A: Milestone Outputs

  • Standards, functions, and other utilities for managing deployed scripts
  • Examples of use in CD

B: Acceptance Criteria

  • Examples of use behave as expected, scripts can be deployed and referenced seamlessly

C: Evidence of Milestone Completion

  • Working prototype for deployed script management

Final Milestone: System Integration

A: Milestone Outputs

  • The full system working, documented, and demonstrated in real applications

B: Acceptance Criteria

  • The system works from end-to-end using real scripts and as an easy-to-use deployment step (e.g. Github action)

C: Evidence of Milestone Completion

  • Deployed packages
  • Released as part of the Blaze SDK
  • <https://www.npmjs.com/package/@blaze-cardano/sdk>

Who is in the project team and what are their roles?

Blaze is developed and maintained by the Butane team, developers with relevant skills will be considered and recruited where appropriate.

Please provide a cost breakdown of the proposed work and resources

All costs of the project go towards manpower costs (contracted / employed developers).

1 developer to undertake the project over 6 months, 10,000 ADA per month.

Tasks include the development of features, maintaining the library, and extensive documentation.

No dependencies.

How does the cost of the project represent value for money for the Cardano ecosystem?

Most Cardano projects use script deployments, and many spend unnecessary time on managing these themselves. This project could establish a robust standard and make developing efficient dApps on Cardano more accessible, improving developer adoption. We believe the budget undercuts current market rates for a developer with the required skill set.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00