completed

Open-sourcing Blockfrost API

$119,000.00 Received
$119,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Addresses Challenge
Feasibility
Auditability
解决方案

我们希望,在这个令人敬畏的社区的帮助下,开源Blockfrost的后端。

Problem:

Blockfrost是Cardano生态系统中使用最多的API即服务,受到成千上万的开发者的信任,但它不是开源的。

Yes Votes:
₳ 160,386,994
No Votes:
₳ 9,793,632
Votes Cast:
602

This proposal was approved and funded by the Cardano Community via Project F7: Open Source Developer Ecosystem Catalyst funding round.

  • download
  • download
  • download
  • download

Detailed Plan

## What is Blockfrost?

Blockfrost is an instant, public and freely accessible API that removes infrastructure obstacles for developers so that everyone can start building (d)apps on Cardano. At the moment, Blockfrost is the most significant API provider in the Cardano ecosystem.

Blockfrost is a set of software development tools supporting more than 10 different programming languages: JavaScript/TypeScript, Python, Golang, Rust, Swift, Scala, Ruby, Java, Arduino, Elixir, .NET, Kotlin and of course, Haskell.

This challenge aims to support the development of common tools for developer interaction with the Cardano blockchain. Blockfrost is a perfect example of such a toolset.

### What is an API?

API is an interface that helps developers program (d)applications effortlessly. An API is a software component that makes the developer's life a lot easier, reusing already available tools instead of reinventing the wheel.

https://www.youtube.com/watch?v=s7wmiS2mSXY

Blockfrost.io is a hosted API. This means that developers don't have to spend time building and setting up the infrastructure needed to run their own API. Instead, developers can focus on developing applications.

## Who uses Blockfrost?

With more than 6,000 developers subscribed to our hosted service, we're serving 400 requests a second on average and almost petabyte (!) of data monthly.

More than 600 active (access Cardano blockchain daily) projects are built on top of Blockfrost.

You have likely used Blockfrost in the past without even knowing! It is a building block of a plethora of applications and wallets.

## Why should it be open-sourced?

If we look at competing blockchains, hosting vendor lock-in is one of the main issues preventing true application decentralization. Vendor lock-in makes the application dependent on a single vendor, without any easy way to switch providers. A great example of this is Infura, an API provider for Ethereum: The race is on to replace Ethereum's most centralized layer (https://www.coindesk.com/markets/2018/12/05/the-race-is-on-to-replace-ethereums-most-centralized-layer/).

Blockfrost has proven to be a solid tool that enables developers to build on Cardano. We have declared the intent to make Blockfrost backend open-source straight from the beginning, and now we want to deliver on that promise. However, we need help as this is a significant undertaking, and we want to do it properly.

We believe in decentralization, and we think (d)app developers should have a choice of providing, including the possibility to run their own infrastructure.

We would like to build a community of developers that will not only build on Blockfrost, but also help us build Blockfrost.

## Deliverables, budget and metrics

We have spent more than a year on research and development to make Blockfrost backend what it is today.

With this in mind, we are asking for $120,000. We will use this money to make Blockfrost better as an open-source project that truly belongs to the Cardano community.

### But, what is this software?

The Blockfrost backend is the brain and the most vital part of Blockfrost. This server-side software uses several open-source tools such as Cardano Node, Cardano DB Sync, Ogmios, Smash and others to provide the Blockfrost API (https://github.com/blockfrost/openapi) to applications. In its core lay custom queries and a multitude of optimizations.

Just over a year, the Blockfrost backend internal repository witnessed more than 1,500 commits and over 500 pull requests (see attached image).

### Security Audit

$24,000 will be used to accommodate the security audit. We have teamed up with Citadelo (https://citadelo.com/en/), one of the best security companies in our region, to perform an extensive security audit of the Blockfrost source code before we release it publicly under an open-source license.

Their customers include major fintech companies and even the Ethereum Foundation.

They are going to perform a security audit of the Blockfrost code by their security engineers. Then, they will present the potential vulnerabilities and help us fix them if found. We will then perform another re-testing round to ensure the code we are open sourcing has a high degree of certainty and won't put existing and future users of Blockfrost at risk.

Report of this audit will be shared with the community.

### Ensure the future of Blockfrost backend as a community project

The rest of the funds - $95,000 - will be used to hire two new people to join our team, working on the Blockfrost backend project for a period of one calendar year.

The first hire will be a Senior Backend Engineer that will work on the backend maintenance. Our community budget for this role is $60,000 (https://www.payscale.com/research/EE/Job=Senior_Software_Engineer/Salary).

Our second hire will be a Community Manager, who will be responsible for community documentation, support and coordination of the project. We envision that more people will join the development of the Blockfrost backend as soon we do open-source it. The community budget for this role is $35,000 (https://www.payscale.com/research/EE/Job=Project_Manager%2C_(Unspecified_Type_%2F_General)/Salary).

The work of these people will be primarily public, and at the end of the year, we will share a report of what they have accomplished over this period.

After the period of one year, Five Binaries will take over to provide funds for these two roles.

Five Binaries will pay any additional salary if these hires are more expensive.

### Performance indicators

As Blockfrost is already a successful project, we have no doubt that it will continue to provide value to the ecosystem. The most important KPIs we will monitor and report to the community are (along with success consideration):

  • Number of trackable downloads of the project (at least 100 by 3 months, at least 500 by 6 months, at least 1 000 by 12 months)
  • Number of users using the hosted version (at least 7 000 by 3 months, at least 10 000 by 6 months and at least 15 000 by 12 months)
  • Number of projects using the hosted version (at least 700 by 3 months, at least 1 000 by 6 months and at least 2 000 by 12 months)
  • Number of commits from the community (at least 10 pull-requests by 4 months, at least 30 pull-requests by 6 months and at least 100 pull-requests by 12 months)

The security audit part is challenging to predict, though we do not expect several security bugs. The sole fact that the security audit has been executed and implemented is, therefore, the set success indicator.

KPIs related to personal staffing:

  • Number of commits from the internal team (at least 200 by 3 months, at least 500 by 6 months, at least 2 000 by 12 months)
  • Number of support tickets from the community (success is hard to define, but we define a goal of 300 resolved tickets by the end of the engagement)

## Timeline

After receiving the funds, we will commence the security audit process, which will take from two to four months. The release of the backend will take an additional one to three months.

## License

The entire outcome of this project will be open-sourced under Apache License 2.0.

## Community FAQ

The follow questions were asked by the community and we would really like thank everyone involved.

NOTE: The formatting of IdeaScale makes this section unreadable, please refer to it in the following link https://hackmd.io/@U2qMxi6GQXiT1n_tgvNhjw/HyJdW3GuF

社区顾问评论 (1)

Comments

Monthly Reports

Everything is going fine. The security audit should finish sometime next month.

Disbursed to Date
$119,000
Status
Still in progress
Completion Target
5/31/2022
Comments 0

Login or Register to leave a comment!

No, thank you.

Disbursed to Date
$119,000
Status
Still in progress
Completion Target
5/31/2022
Comments 0

Login or Register to leave a comment!

The security audit is complete, as soon as the Vasil hardfork is done we will resume the work on open sourcing.

Disbursed to Date
$119,000
Status
Still in progress
Completion Target
8/31/2022
Attachment(s)
Comments 0

Login or Register to leave a comment!

Not at the moment

Disbursed to Date
$119,000
Status
Still in progress
Completion Target
2. In the next 3 months
Attachment(s)
Comments 0

Login or Register to leave a comment!

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3分钟24秒
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4分钟3秒
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3分钟48秒
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2分钟16秒
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3分钟14秒
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3分钟19秒
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4分钟59秒
    Darlington Kofa
0:00
/
~0:00