completed
Distributed storage Infrastructure
Current Project Status
Complete
Amount
Received
$64,140
Amount
Requested
$64,140
Percentage
Received
100.00%
Solution

We provide easy to use HTTP API and SDK for IPFS storage.

Problem

Maintaining an IPFS infrastructure is time-consuming and costly.

Addresses Challenge
Feasibility
Auditability

Team

2 members

Distributed storage Infrastructure

In the traditional web, everything is mutable and dynamic, this works well most of the time, but it can lead to a broken link (link rot). A broken link is a big concern for a digital artifact like an NFT because they are meant to be permanent. NFTs have an on-chain and an off-chain component. The on-chain part contains the metadata and links to the off-chain part, usually a file or files. If you store an NFT with a link that later rots, the value of the NFT is compromised even though the blockchain record remains unchanged.

We need links that endure in time to safely link from an NFT to off-chain assets like images. The ideal link would always resolve to the same piece of content linked during the minting of the NFT. In this way, it is not tied to a single server owner or "domain."

Content addressing gives us precisely the kind of links we need. You no longer get to choose the keys. Instead, the keys are derived directly from the values stored using a deterministic function that generates the same key for the same content.

When your data is stored on IPFS, users can fetch it from any IPFS node with a copy, making data transfers more efficient and reducing the load on any single server. As each user brings a piece of data, they keep a local copy around to help other users request it later.

We'll provide a suite of high-availability APIs and developer tools (SDKs) for fast and reliable access to the Cardano network and IPFS that requires only minutes to integrate. Our goal is to lower the entry barrier for development on Cardano by providing reliable infrastructure and easy to use API that will allow developers and enterprises to focus on building their business model and growing next-generation software without worrying about infrastructure and operational responsibilities.

Use cases and customers

  • NFT Marketplaces
  • Artists minting their own collection or project.
  • Individual collectors who want to pin their NFTs in order to have backup copies.

Proposal Components

  • IPFS HTTP API
  • JS SDK
  • IPFS Gateways
  • NFT Minter

JS SDK Just download the library and start building! No infrastructure or DevOps is required.

User interface

The user interface will allow you to add and remove files to IPFS in an easy way. I'll have analytics showing requests, methods calls and also an export feature that will allow you to export all the CID in your account.

Backup to AWS S3 and other IPFS providers.

Free account with 150MB

Tangocrypto Free IPFS Gateway

We will provide a gateway for users who are just getting started anyone will be able to access the content through this gateway with a URL like this: <https://gateway.tangocrypto.com/ipfs/bafybeibidhc2lxor34v5exel6vfumprwysuteoguenqy7ayynrbqcjcuui>

Dedicated IPFS Gateways

For those who need higher limit rates and consistent performance with their own domain name.

The paid plan will allow the creation of dedicated gateways.

Being able to maintain a highly available distributed storage infrastructure.

Roadmap

All the functionalities described here will be valid for both Mainnet and Testnet.

First month:

HTTP API endpoints:

  • POST /save: Store a file. You can upload either a single file or multiple files in a directory.
  • POST /save/{CID}: Add content that is already pinned by another service.
  • GET /: List all stored files.
  • GET /{CID}: Get information for the stored CID
  • DELETE /{CID}: Stop storing the content with the passed CID.
  • GET /check/{CID}: Checks if content with the provided CID is stored or pinned.

JS SDK

The JS SDK will contain methods to upload the files and folders. For example:

import { TCStorage, getFilesFromPath } from 'tangocrypto.storage'

const apikey = process.env.API_KEY

const client = new TCStorage({ apikey })

async function storeMyFiles () {

const files = await getFilesFromPath('/path/to/file')

const cid = await client.put(files)

console.log(cid)

}

storeMyFiles()

Second month:

Dedicated Gateways

A custom gateway will allow customers to have their own IPFS gateway. With this artists can link their own domain name to the gateway and share links with their brand on the URL.

Third month:

User interface

  • Easy to use user interface to manage your files. You'll be able to upload the files, delete them, and see the bandwidth consumption.
  • minting from the files stored in IPFS.
  • From the dashboard, users will be able to select the files and mint them as NFTs.

Budget

We'll need the following:

  • 1 Backend Developer: ($5,000 x 3 month: 15,000 USD)
  • 1 Frontend Developer: ($5,000 x3 month: 15,000 USD)
  • 1 Solutions Architect/DevOps ($5,000 x3 month: 15,000 USD)
  • Server infrastructure for the first year for IPFS Storage, Public IPFS Gateway and Dedicated gateway:
  • 6 servers in 3 different continents with 4vCPU/8GB RAM, 2TB HDD, 4000 IOPS, 400 MB throughput)
  • Amazon EC2 Reserved instances cost (monthly) - 423.984 USD
  • Data Transfer cost (monthly) - 92.16 USD
  • Amazon Elastic Block Storage (EBS) total cost (monthly) - 1,079.05 USD
  • Total server monthly cost - 1,595.19 USD
  • Total server yearly cost - 19,140 USD

Total estimate: 64,140 USD

Meet the team:

Product Manager & Solutions Architect: Javier Toledo Cordova

Professional solutions architect with more than 10 years of experience in technology, specialized in software architecture and cloud computing. Started his career as a network architect designing data center networks and now focuses on cloud architecture and product design.

Linkedin: <https://www.linkedin.com/in/javiertc>

Email: [email protected]

Twitter: <https://twitter.com/javiertc86>

Sr Full Stack Developer: Leobel Izquierdo

Software Engineer with a Bachelor's Degree in Computer Science and over 7 years of experience in the Software Industry. Working for the past year with blockchain technologies like: Ripple, Ethereum and Cardano.

Linkedin: <https://www.linkedin.com/in/leobel-izquierdo-30b96086>

Email: [email protected]

Twitter: <https://twitter.com/leobelizquierdo>

DevOps: Manuel Morejon Espinosa

Cloud Engineer and Docker Captain, passionate about Cloud-Native Architectures topics and more than 10 years of experience. Has technical and communication skills to help teams to improve their workflow and to reduce deployment times. The goal is always to maximize productivity by minimizing errors. Enthusiastic about teaching and sharing the knowledge with the Community.

Linkedin: <https://www.linkedin.com/in/manuelmorejon>

Email: [email protected]

Website: <https://mmorejon.io>

Twitter: <https://twitter.com/morejon85>

Front-end developer: Juan Manuel Menendez. Senior Front End Developer with over 8 years of experience in software development.Advanced experience in JavaScript, Typescript, ReactJS, Apollo GraphQL, CSS, HTML, NextJS, Responsive Web Design, NodeJS, OOP and Functional Programming. Familiar with VueJS, Angular and common practices like Scrum, Git, Continuous Integration, and Testing.

Linkedin: <https://www.linkedin.com/in/juan-manuel-menendez>

Email: [email protected]

The JS SDK will be open-source therefore the progress can be checked on Github.

We'll make reports and videos on the progress of the backend system.

In the first 3 months:

Acquiring customers:

  • 500+ users free tier
  • 100-200 paid users

Youtube channel with updates, guides, best practices, and tutorials.

Blogs post about the API and SDKs

Establish enterprise partnerships and provide support with customised SLAs.

This is a continuation of the project Software as a Service for Cardano that was funded in Fund 6 (https://cardano.ideascale.com/c/idea/366977). With this, we are adding IPFS support to our API for users who want to create their own NFT marketplace or just pin their own files.

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