not approved
Terraform support for Blockfrost.io
Current Project Status
Unfunded
Amount
Received
₳0
Amount
Requested
₳120,000
Percentage
Received
0.00%
Solution

We will develop a Terraform plugin for Blockfrost, enabling users to automate, manage, and consistently deploy infrastructure for Cardano blockchain via a unified IaC approach.

Problem

We aim to streamline the management of Blockfrost.io services by creating a Terraform plugin, simplifying infrastructure automation, ensuring consistent deployment for Cardano blockchain applications.

Feasibility
Value for money
Impact / Alignment

Team

1 member

Terraform support for Blockfrost.io

Please describe your proposed solution.

Our proposed solution involves developing a custom Terraform provider for Blockfrost.io, which allows users to define and provision Blockfrost resources using HashiCorp Configuration Language (HCL).

The Blockfrost.io Terraform provider will encapsulate the necessary API calls to Blockfrost in Terraform's declarative programming model. It will convert the API's resources into Terraform's "resource" schema, enabling Terraform users to declare their usage of these resources in configuration files, and have the creation, updating, and deletion of these resources managed by Terraform.

This solution aims to provide a unified and straightforward way to manage and automate the setup of infrastructure for applications built on the Cardano blockchain using Blockfrost. It will leverage Terraform's capabilities, such as planning and predicting changes, resource graph, and resource lifecycle, to ensure that all infrastructure changes happen in a controlled and predictable manner.

The Blockfrost Terraform provider will also come with comprehensive documentation to assist developers in using the plugin. The documentation will include details on how to install the provider, examples of resource configuration, and a full list of supported resources and their arguments.

By integrating Blockfrost with Terraform, we hope to streamline DevOps processes for developers working on Cardano blockchain, thus accelerating their development lifecycle and improving efficiency.

How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?

Our proposed solution directly addresses the challenge by integrating Blockfrost.io, a crucial API service for Cardano blockchain, with Terraform, a widely used Infrastructure as Code (IaC) tool. This integration aims to provide a unified, efficient, and streamlined process to manage and automate the setup of infrastructure for applications built on the Cardano blockchain.

The main advantage of this integration is automation and efficiency. Developers can automate the process of creating, updating, and deleting Blockfrost resources. This eliminates the need for manual configuration or scripts, which in turn reduces the potential for human error and saves significant time.

Another key benefit is predictable changes. By utilizing Terraform's planning feature, developers can get a preview of the changes that will be made to their infrastructure, which allows them to manage and implement changes in a more controlled and predictable manner.

Overall, by simplifying and optimizing the management of Blockfrost resources, our solution not only enhances the developer experience but also contributes to the robustness and agility of the Cardano ecosystem, ultimately encouraging more innovations and development within the platform.

How do you intend to measure the success of your project?

Measuring the success of this project would involve both quantitative and qualitative metrics:

  • Adoption Rate: One key indicator would be the number of Terraform users deploying the Blockfrost provider. This can be tracked through the download counts from the Terraform Registry and the usage statistics from Blockfrost's API endpoints.
  • Community Engagement: Measures like the number of contributors to the project, pull requests, and engagement on discussion forums can indicate the provider's acceptance in the community.
  • Number of Use Cases Supported: An increase in the variety of use cases supported over time can indicate the versatility and flexibility of the plugin.

By considering these measures collectively, we can obtain a comprehensive view of the project's success.

Please describe your plans to share the outputs and results of your project?

To ensure the results of our project are accessible and beneficial to the widest audience possible, we intend to implement a multifaceted dissemination strategy:

  • Open Source Repository: The Terraform provider for Blockfrost will be open sourced and hosted on a platform like GitHub. This would encourage collaboration, peer review, and further enhancement from the global developer community.

  • Documentation: Comprehensive and user-friendly documentation will be created. This will include a step-by-step guide for using the provider, along with various use case examples.

  • Webinars and Tutorials: To aid adoption, we plan to conduct webinars or create tutorial videos that walk through the process of setting up and using the Terraform provider for Blockfrost.

  • Community Engagement: We will engage with the developer community on platforms like StackOverflow, Reddit, and developer forums, answering queries and promoting our tool.

Our goal is to foster a community around our project, encouraging adoption, feedback, and continuous improvement.

What is your capability to deliver your project with high levels of trust and accountability?

Our capability to deliver this project with high levels of trust and accountability stems from several key strengths. As the core developers of Blockfrost, we possess a deep understanding of its architecture, operation, and potential, which directly influences our capacity to develop a comprehensive Terraform provider tailored to the needs of the Cardano community.

In addition, we bring years of experience with Terraform to the table, reinforcing our technical skills and our ability to effectively address a wide variety of use cases. This experience will also ensure that our Terraform provider adheres to best practices and integrates seamlessly with existing Terraform workflows.

We commit to open communication and transparency with the community, regularly updating stakeholders on our progress through detailed reports and public repositories. Our established reputation in the community and our past record of delivering high-quality software solutions add another layer of trust and accountability to our work. We also uphold strict ethical standards and respect for intellectual property, ensuring that our work maintains its integrity and the confidence of our users.

Our approach combines a results-oriented focus with a commitment to upholding the highest standards of quality, accountability, and transparency. This project aligns with our expertise, passion, and dedication to making the Cardano ecosystem more accessible and easier to manage for developers worldwide.

What are the main goals for the project and how will you validate if your approach is feasible?

The main goals for our project are as follows:

  1. Develop an open-source Terraform provider for Blockfrost, enabling users to manage and automate their Blockfrost services using Infrastructure as Code (IaC).
  2. Ensure the plugin supports all key Blockfrost services and functionalities.
  3. Provide comprehensive documentation to assist users in using the plugin effectively.
  4. Facilitate wide adoption and community engagement through open-source collaboration, feedback solicitation, and active support.

To validate the feasibility of our approach, we will perform several steps:

Design Phase: We will start with a careful analysis of Blockfrost's API and the requirements of a Terraform provider. We will then create a detailed design of the provider, which will be reviewed and validated by experienced team members.

Development Phase: The provider will be developed iteratively. Each feature will be validated separately using unit and integration tests to ensure it works as expected and meets the defined requirements.

Proof of Concept (PoC): Early in the development process, we will create a PoC to demonstrate that the basic functionalities are working as intended. The PoC will also help gather early feedback that can be used to guide further development.

Community Testing: Once a beta version of the provider is ready, we will encourage the community to test it and provide feedback. This will allow us to identify any issues or improvements needed before the final release.

Continuous Monitoring: After the release, we will monitor the use of the provider, gather feedback, and make improvements as needed. We will measure success based on adoption rates, user feedback, and the stability and versatility of the provider.

By following these steps, we can continuously validate the feasibility and effectiveness of our approach, ensuring that the final product is reliable, useful, and meets the needs of the Cardano community.

Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.

Milestone 1: Project analysis, defining the structure of the Blockfrost.io that will support the Terraform plugin (1 week)

Milestone 2: API implementation and release (4 weeks)

Milestone 3: Terraform plugin development (4 weeks)

Milestone 4: Monitoring and evaluation of the project (3 weeks)

Please describe the deliverables, outputs and intended outcomes of each milestone.

Deliverable 1: Blockfrost.io API service - users will be able to manage blockfrost.io resources with a comprehensible API

Deliverable 2: Terraform plugin for Blockfrost.io - users will be able to manage Blockfrost.io resources with Terraform

Please provide a detailed budget breakdown of the proposed work and resources.

The budget will cover developer salaries and infrastructure. We will provide more details later.

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

All development work outlined in this proposal will be covered by our existing Blockfrost team. Our team has extensive experience with Cardano blockchain, a deep understanding of the Blockfrost platform and several years of experience working with TerraForm, which we use for managing all of Blockfrost's infrastructure. We don't foresee the need for any additional recruitment as we are confident in our team's capabilities to execute the tasks efficiently and effectively.

<https://github.com/blockfrost>

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

Creating a Terraform provider for Blockfrost capitalizes on Terraform's significant popularity within the developer and DevOps communities. By enabling programmatic infrastructure management, we amplify efficiency, significantly surpassing the capabilities of the current web dashboard.

This provider doesn't just streamline regular operations but also acts as a safety net in case of disasters. Users can swiftly duplicate or rebuild their infrastructure across environments or regions using the same Terraform configurations, thus bolstering disaster recovery capabilities.

All in all, the Terraform provider for Blockfrost is a strategic investment in automation, scalability, and resilience. It represents excellent value for money by promoting wider adoption of Cardano, fostering innovation, and contributing significantly to the robustness of the Cardano ecosystem.

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