Published on:

September 26, 2022
A Guide To ZDFS: Zeeve’s Enterprise Grade Decentralized storage solution

Share

IPFS is a great way to distribute files. It uses an innovative content-addressing system instead of location-addressing to find what users have requested. Though this approach addresses the problems with the conventional client-server model, it too has a few limitations. 

Any content that is not pinned/saved by nodes, gets deleted once the nodes clear their content cache. As you can’t force others to pin your content, you have to run your own IPFS nodes to make sure it stays pinned all the time. 

Now managing nodes or keeping a track of all the pinned contents, can be challenging. Here the Zeeve Distributed File System (ZDFS) comes into the picture. 

What is ZDFS?

Zeeve distributed file system is a secure, enterprise-grade decentralized storage service built on top of IPFS. It pins all your content in our wider IPFS nodes network so that it remains accessible and easily retrievable even when your local node isn’t online. 

Moreover, as the data resides on multiple nodes, you can take the benefit of parallelization and request data from multiple nodes at one time. This increases speed. 

With our easy-to-use GUI and seamless integration feature with numerous public and private blockchain protocols, the ZDFS storage service frees you from all the IPFS complexities. 

Whether you need to store off-chain data for NFT marketplaces, intellectual properties, public records, enterprise documentation, or underlying digital assets of tokenized real-world assets – we have got it covered! Upload files, folders, and content using a single IPFS hash up to 25 GB in size that will always be online without worrying about unusual server downtime or IPFS node management. 

Why ZDFS for your decentralized storage needs?

  1. ZDFS provides a chain agnostic storage solution, which means you can use it with any blockchain protocol

Be it public protocols like Ethereum, Polygon, Avalanche, Polkadot, or permissioned protocols like Hyperledger Fabric, R3 Corda, or Hyperledger Sawtooth – ZDFS is easily integrable. 

  1. ZDFS supports the widely used developer stack. You can access ZDFS through IPFS CLI or HTTP APIs. Create an Access Token, and seamlessly integrate it with Pinning service APIs or Data APIs for remote pinning, uploading, deleting files, and other operations. 

Use ZDFS GUI if you prefer an easy-to-use graphical interface over sophisticated consoles. More on this is covered below.

By using our ZDFS SDK, you can build dApps faster with easy integration without writing bloated code repeatedly. 

  1. Dedicated Gateway: For those who need more speed or higher API rate limits,  ZDFS offers up to 12 dedicated gateways in our paid plans. Plus, it also ensures better caching of your content. Click here to create your dedicated gateway. 
  1. ZDFS also provides folder synchronization and distributed locking features in addition to the one-click interface for pinning, retrieving, and accessing your content in the wider IPFS network.

As the name suggests, folder synchronization maintains folders on many nodes in sync, while distributed locking permits concurrent editing of a single file by multiple users.

  1. Advanced analytics and real time alerts: 

The ZDFS dashboard provides you with highly optimized user analytics. API consumption, disk usages, bandwidth, inbound & outbound traffic for yearly, monthly and daily time frames are always at your fingertips. 

How to Use Zeeve’s Distributed File System?

There are a series of steps you need to follow before you start using ZDFS services. The entire process can be explained breaking it down into 3 parts:

  1. Signing up for ZDFS
  2. Creating Access
  3. Requesting Access

Let’s get into the details for each step one by one. 

  1. Sign Up for ZDFS: 

Login to your Zeeve account and head to -> Buy Services -> ZDFS. If you’re a new user, create an account from here.  

Next, choose a plan that supports your needs. Zeeve currently offers 4 plan types with a FREE Developer plan of 5GB of storage and an API rate limit of 60 req/sec. 

If you are just starting off or scaling your business, our LAUNCH or BUILD plan will be useful to you. And if you are a big business already, the GROWTH plan might be suitable to meet your needs. 

  1. Creating Access: 

Once your purchase is done, go to SETTINGS -> API CREDENTIALS -> CREATE KEY

Under this section, you need to choose Service Type and permissions for Data APIs and Pinned Services APIs. 

Once you click on the CREATE KEY button, an ACCESS TOKEN  will be generated along with the ACCESS KEY and ACCESS SECRET. You will need this info to configure ZDFS in the later stages. Store it in the right place. 

  1. Requesting Access:

You can request access to the ZDFS services in 3 ways:

  1. Configuring ZDFS in the IPFS CLI: 

You can pin directly to ZDFS using the IPFS CLI. To do so execute the following command and add ZDFS as your remote pinning service:

For Shared Gateway:

ipfs pin remote service add zdfs https://app.zeeve.io/zdfs-api/api/psa ACCESS_TOKEN

Here the ACCESS_TOKEN is what we generated in the 2nd step. You need to have Pinned Service APIs permissions for doing this. 

For dedicated Gateway:

ipfs pin remote service add zdfs https://app.zeeve.io/zdfs-api/YOUR_DEDICATED_GATEWAY_KEY/api/psa ACCESS_TOKEN

Then, to pin a CID to ZDFS under the human-readable name, use 

ipfs pin remote add --service=zdfs --background --name="Image.png" QmValidCIDToAdd

To remove a pinned object;

ipfs pin remote rm --service=zdfs --cid=QmValidCIDToRemove

For a list of other commands, use 

ipfs pin remote --help
  1. Configuring ZDFS Using the HTTP API:

Users can perform various actions in their ZDFS account using our public HTTP APIs. There are two types of HTTP APIs. Pinning Service API & Data API. 

I) Pinning Service APIs

The ZDFS pinning service endpoint for all requests is: 

https://app.zeeve.io/zdfs-api/api/psa/pins

Here’s one example request for adding a new pin:

curl --location --request POST 'https://app.zeeve.io/zdfs-api/api/psa/pins' \
--header 'Authorization: Bearer <access_token>' \
--data-raw '{
    "cid": "QmValidCIDToAdd",
    "name": "Image.png",
    "origins": [
        "/ip4/192.0.0.112/tcp/4001/p2p/QmSourcePeerId",
        "/ip4/192.0.0.114/udp/4001/quic/p2p/QmSourcePeerId"
    ],
    "meta": {
        "additional": "metadata",
        "more": "metadata"
    }
}'

To remove pinned object; 

curl --location --request DELETE 'https://app.zeeve.io/zdfs-api/api/psa/pins/requestid' \
--header 'Authorization: Bearer <access_token>'

II) Data APIs: 

In order to make remote operation and dApp integration more effective, ZDFS provides Data APIs for its users to upload, pin, unpin, view, delete files. 

For uploading a single file, the example request will be like this: 

curl --location --request POST 'https://app.zeeve.io/zdfs-api/api/v1/file/upload' \
--header 'Authorization: Bearer <access_token>' \
--form 'files="/path/to/image.png"' \
--form 'name="image.png"' \
--form 'isDirectory="false"'

To add a new pin in ZDFS: 

curl --location --request POST 'https://app.zeeve.io/zdfs-api/api/v1/file/pin' \
--header 'Authorization: Bearer <access_token>' \
--data-raw '{
  "fileID": "c700bb68-5f82-4de0-8fc9-e03d8f4f4cc6"
}'

To delete files from ZDFS: 

curl --location --request POST 'https://app.zeeve.io/zdfs-api/api/v1/file/delete' \
--header 'Authorization: Bearer <access_token>' \
--data-raw '{
    "fileIDs": ["4ddf3307-a3bf-a-valid-uuid", "4ddf3307-a3bf-another-valid-uuid"]
}'

To learn more about HTTP APIs, read our API documentation

  1. Using the ZDFS GUI:

If you want to avoid all these complexities and want to manage your content with a click of a button, the ZDFS console manager can help you with that. You can perform all the operations that are possible through HTTP APIs and IPFS CLI with an interactive graphical user interface and without writing a single line of code. 

You can perform multiple file-based operations (Like Upload File/Folder/CID, List, Edit, Delete, Export, Pin, Unpin, Preview) right from the ZDFS dashboard. 

With our ‘File CID Verifier’, you can even check any file CID IPFS hash of particular content and its availability on the IPFS public network without the file being uploaded to IPFS

This can be used to ensure the file is exactly the one you expect.

So, there you have it! A Guide to ZDFS 

If you are looking for a storage solution that can handle the demands of your business, check out our ZDFS page. With ZDFS, you’ll get the enterprise-grade performance and reliability without having to sacrifice features or flexibility. 

We hope this article was helpful and that you feel more confident in your understanding of the technology. As always, if you have any questions or need clarification on anything related to ZDFS or Web3, please don’t hesitate to reach out to us. We, Zeeve peoples, love talking about all things blockchain and are always happy to help! 

What is Zeeve? 

Zeeve is an enterprise grade no-code blockchain Infrastructure automation platform with 30+ supported public and private blockchain protocols

Along with helping DevOps team to deploy and manage blockchain nodes, Zeeve also provides Web3 infrastructure plug-n-play services like decentralized storage, decentralized identity and blockchain ledger data APIs for faster building of dApps. 

With our clear developer documentation, tutorials, how to Guides and a 24*7 support accessible right from your Zeeve dashboard, we make sure you don’t miss out on anything. 

Join our growing list of clients that trust us with their Blockchain initiatives. Connect with us here.

Join the Our Largest community!

Be one of the 15,000+ innovators who subscribe to our updates.

message