AWS SDK - JavaScript

Please read the following to understand how to use the AWS SDK - JavaScript with the 4EVERLAND Bucket. Combine the AWS SDK API for the JavaScript language with the 4EVERLAND Bucket to achieve file uploads to the IPFS or Arweave storage networks.

Preparation

Development Examples

Install the S3 client

The following code example defines an S3 client and does not return any output. Replace the values in the code below to complete your configuration:

endpoint:https://endpoint.4everland.co

accessKey:Bucket-Access Keys-API Key

secretKey:Bucket-Access Keys-API Secret

region: Default filled in with "4everland"

import { S3 } from '@aws-sdk/client-s3';

const s3 = new S3({
  endpoint:"https://endpoint.4everland.co",
  credentials: {
    accessKeyId: "4EVERLAND-Bucket-APIKey",
    secretAccessKey: "4EVERLAND-Bucket-APISecret"
  },
  region: "4EVERLAND",
});

Create a bucket

bucket: The desired bucket name to create

const params = {
    Bucket: "bucketname",
}
s3.createBucket(params,(err, data)=>{
    if(err){
        console.log(err)
    } else {
        console.log('Bucket created', data)
    }
});

Upload a file

bucket: Your bucket name

Key: The file path for the file to be uploaded

ContentType: The type of the file to be uploaded

const params = {
  Bucket: "4everland-bucketname",
  Key: "/path/to/4everland/4ever.png",
  ContentType: "image/png",
  Body: "data content",
}

s3.putObject(params, (err, data)=>{
     if(err){
        console.log(err)
    } else {
        console.log('Upload success', data)
    }
};

List the files in the bucket

Bucket: Your bucket name

Prefix: Files will be listed according to the provided path. When the input is empty, all files in the bucket will be listed

const params = {
  Bucket: "4everland-bucketname",
  Prefix: "/path/to/" 
};
s3.listObjectsV2(params, function (err, data) {
  if (err) {
    console.log("Error when listing objects", err);
  } else {
    console.log("Success when listing objects", data);
  }
});

Requesting IPFS CID and Arweave Hash

Bucket: The bucket name where the target file is stored

Key: The path of the target file

s3.headObject({
    Bucket: "4everlandbucket",
    Key: "/path/to/4everland/4ever.png",
},(err, data)=>{
    if(!err) {
        console.log(data)
        console.log("ipfs cid:", data.Metadata['ipfs-hash'])
        // If it is an Arweave type of bucke
        console.log("arweave hash:", data.Metadata['arweave-hash']) 
    }
})

If you have any questions, please join our Discord server, or send us an email at contact@4everland.org.

Last updated