Skip to main content

Storage SDK

FAQ regarding Storage SDK usage, user experience and more.

Contents

What is Arcana Store?

Arcana Store is the logical entity that hosts all the files uploaded by dApp users. It is a distributed, decentralized data store.

Every file uploaded to the Arcana Store is encrypted using decentralized keys. The encryption key is split into multiple parts called shards. Each shard is physically stored on more than one storage node. No single node has access to the encryption key and only the data owner can access the keys. Keys are not stored or accessible by the Arcana network components. The encrypted data is stored in the dApp developer-specified geographical region. The choice of a geographic region to store dApp data is a one time setting configured using the Arcana Dashboard.

note

In the initial Mainnet release, there is only one storage provider for Arcana Store, Arcana itself. In the future, there will be other storage providers to ensure true decentralization.

How can dApp users upload data to the Arcana Store or access data from it?

The dApp developers must first register their dApp with the Arcana Network platform and configure it using Arcana Developer Dashboard and then integrate with Arcana Storage SDK. Once a dApp is integrated, it can call the functions exposed by the Storage SDK to upload data to or download data from the Arcana Store.

Make sure the pre-requisites of integrating with the Storage SDK are met. Arcana Storage SDK provides data privacy and access control. To ensure data ownership, it uses signed blockchain transactions for all data access operations. To sign blockchain transactions,the Arcana Storage SDK requires a Web3 wallet provider. To access a provider, a dApp can integrate with Arcana Auth SDK and use Arcana wallet or any supported third-party wallet provider.

What is the difference between public and private files?

Public files stored in the Arcana Store are not gated. Access to public files is not controlled. They can be downloaded and viewed, and accessed by anyone as long as they have a unique identifier or DID for that file. For example, consider public assets like images or videos used in a website or perhaps even the html/css/js files required to serve a web page. Public files may or may not be encrypted.

Private files stored in the Arcana Store can only be accessed by the rightful owners. If the owner has shared the file with other users, they can also download, view and access such a shared file. Every private file is encrypted.

Can a dApp user upload the same file multiple times to Arcana Store?

Yes, Arcana Storage SDK supports uploading duplicate files to the Arcana Store. You can upload the file with the same name or the same content any number of times. Please note, the Arcana Store does not track whether or not a user or dApp has uploaded duplicate files. It does not provide any methods to detect duplicate content.

The duplicate file support feature is intended for the use case where a dApp user has 5 copies of the same file and wants to mint an NFT for each of those five unique NFT assets. Arcana Storage SDK allows uploading the same file multiple times. Each of those files is assigned a unique DID.

Data Privacy - what kind of data formats or types are supported by the Arcana Storage SDK?

Arcana Storage SDK allows dApp users to upload, store and download their data as a file. To upload a file, the user must specify the file blob and not the file URL. These files can be NFT images, videos, profile pictures, JSON files, docs, etc. For a complete list of supported data types, see State of the Network.

Does Arcana Storage SDK support data privacy for read-only (immutable) files only?

Yes, data privacy and access control are enabled only for 'read-only' or immutable data.

By default, all data files uploaded to the Arcana Store are private. While uploading, data can be specified as public. Public data does not have any access control, anyone can access it.

Each file that is uploaded by the user using the Storage SDK, is assigned a unique identifier, the file DID. Every file is immutable and cannot be changed in the Arcana Store. If a file's content is modified or changes locally, the user will be required to upload the file again. This new file will be assigned a different DID. There is no version control for writable files.