1
0
mirror of https://github.com/oceanprotocol/docs.git synced 2024-11-26 19:49:26 +01:00
docs/user-guides/asset-hosting/aws.md
2023-06-29 18:52:01 +03:00

4.2 KiB

description
How to use AWS centralized hosting for your NFT assets

AWS

Amazon Web Services

AWS provides various options to host data and multiple configuration possibilities. Publishers are required to do their research and decide what would be the right choice. The below steps provide one of the possible ways to host data using an AWS S3 bucket and publish it on Ocean Marketplace.

Prerequisite

Create an account on AWS. Users might also be asked to provide payment details and billing addresses that are out of this tutorial's scope.

Step 1 - Create a storage account

Go to AWS portal

Go to the AWS portal for S3: https://aws.amazon.com/s3/ and select from the upper right corner Create an AWS account as shown below.

Click the orange create an account button

Fill in the details

Create an account - 2

Create a bucket

After logging into the new account, search for the available services and select S3 type of storage.

Select S3 storage

To create an S3 bucket, choose Create bucket.

Create a bucket

Fill in the form with the necessary information. Then, the bucket is up & running.

Check that the bucket is up and running

Step 2 - Upload asset on S3 bucket

Now, the asset can be uploaded by selecting the bucket name and choosing Upload in the Objects tab.

Upload asset on S3 bucket

Add files to the bucket

Get the files and add them to the bucket.

The file is an example used in multiple Ocean repositories, and it can be found here.

Upload asset on S3 bucket

The permissions and properties can be set afterward, for the moment keep them as default.

After selecting Upload, make sure that the status is Succeeded.

Upload asset on S3 bucket

Step 3 - Access the Object URL on S3 Bucket

By default, the permissions of accessing the file from the S3 bucket are set to private. To publish an asset on the market, the S3 URL needs to be public. This step shows how to set up access control policies to grant permissions to others.

Editing permissions

Go to the Permissions tab and select Edit and then uncheck Block all public access boxes to give everyone read access to the object and click Save.

If editing the permissions is unavailable, modify the Object Ownership by enabling the ACLs as shown below.

Access the Object URL on S3 Bucket

Modifying bucket policy

To have the bucket granted public access, its policy needs to be modified likewise.

Note that the <BUCKET-NAME> must be chosen from the personal buckets dashboard.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Public S3 Bucket",
      "Principal": "*",
      "Effect": "Allow",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::<BUCKET-NAME>/*"
    }
  ]
}

After saving the changes, the bucket should appear as Public access.

Access the Object URL on S3 Bucket

Verify the object URL on public access

Select the file from the bucket that needs verification and select Open. Now download the file on your system.

Access the Object URL on S3 Bucket

Step 4 - Get the S3 Bucket Link & Publish Asset on Market

Now that the S3 endpoint has public access, the asset will be hosted successfully.

Go to Ocean Market to complete the form for asset creation.

Copy the Object URL that can be found at Object Overview from the AWS S3 bucket and paste it into the File field from the form found at step 2 as it is illustrated below.

Get the S3 Bucket Link & Publish Asset on Market