Storages
NFT usually contains some images or animation and metadata as well. Storages provide the option to store this data on different services both centralized and decentralized. You can have your own storages by providing your own credentials to us or using our predefined storages
NFT best practice - prefer decentralized storages versus centralized. But please note that on decentralized storage you can’t update files. Decentralized storages is immutable
Creating Storage
To create the storage you should select the necessary driver first and fill required fields after.
Each storage has its own set of fields but all of them have general fields as well. General fields are a name, description, slug, enables, and default switchers.
Name and description used for dev panel only and provides notes for developers about the purpose to create given storage.
Slug is a unique option per project. This is how developer address uploading path
The default storage used on API when the storage slug is not provided (empty)
Storage Options
Path inside the storage
Some storages support the options ‘path inside storage’ that make a system put files in a special folder(s) inside your storage. By default, the system put files at the root of the storage
Driver Type
System support different type of driver
Attarius https storage
Attarius HTTPS storage is cost effective storage controlled by Attarius. You only can select a folder for storing files.
Attarius HTTPS storage provides CDN for better speed
Attarius IPFS storage
Atarius IPFS storage it’s IPFS storage by platform. No options are required from the end user.
IPFS storage is immutable. You can't update file after
Amazon S3 storage
AWS S3 storage is controlled by the end game. Developer should provide all credentials for his own S3 storage AWS S3 cost effective, secure, reliable, and scalable solution that is widely used on the web.
How to set up your own S3 bucket
The setup process is fast and easy
Registration
Register on https://aws.amazon.com. This simple but long process as it requires validation from the AWS site
Create an S3 bucket.
On https://s3.console.aws.amazon.com/s3/home press the "Create Bucket" button. Enter the bucket name and select the region. Remember the values you should enter on the dev panel. Leave all other options as it
Create CDN
On https://console.aws.amazon.com/cloudfront/v3/home press the "Create distribution" button. On the "Origin domain" select that you create a bucket on the previous step. On the section "Origina access" select "Legacy access identities (Use a CloudFront origin access identity (OAI) to access the S3 bucket)" and press the "Create new OAI" button. Agree with the default name. Next "Bucket policy" - select "Yes, update the bucket policy"
You can adjust other settings as well including custom domain or protocols.
After you are done press the "Create distribution" button
Select the created distribution and copy "Distribution domain name" it should be something "xxxxxx.cloudfront.net". If you added your own domain then copy "Alternate domain names".
This value goes to the "External URL" field on the dev panel, but don't miss to add protocol "https://" to this url
Creating credentials
This is the most important and hard part for you. We will create limited credentials that cover only access to one bucket and no more
Go to the policies page https://console.aws.amazon.com/iamv2/home#/policies and select - "Create Policy" and go to JSON tab
Paste provided policy. But replace "YOUR_BUCKET" with your own bucket name that you created before
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"],
"Resource": ["arn:aws:s3:::YOUR_BUCKET/*"]
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": ["s3:ListAllMyBuckets", "s3:ListBucket"],
"Resource": "*"
}
]
}
Press the next few times and on the last page provide the name "AttariusService". Save policy.
Now create a user with this policy. Go to the "https://console.aws.amazon.com/iamv2/home#/users" and "Add users" Add username "AttariusService" and select "Access key - Programmatic access" On the next page select "Attach existing policies directly" and find policy "AttariusService” Press the "next" button multiple times and on the last page copy AccessKey and SecretKey. You should add it to the Attarius dev panel
All done!
Pinata IPSF storage
Pinata amount service to “pin” files inside IPFS.
Pinata credentials can be obtained here https://app.pinata.cloud/keys
Infura IPFS storage
Infura core of current web3 and it included IPFS services as well
To obtain Infura IPFS credentials go to the dashboard https://infura.io/dashboard and create a new project. As a product select IPFS as name any name
Go inside the created project and select "project settings". Project ID and project secret will be here
NTF.storage
NTF.stogare service special storage to store data inside ipfs and filecoin. It is free and unlimited. You can obtain API key on https://nft.storage/manage/
WEB3.storage
DEPRECATED. Not available anymore on dev panel. Old uploads will continue work.
WEB3.storage service to provide storage across different decentralized providers. You can use up to 1TB of data here for free You can obtain API key on https://web3.storage/tokens/