☁️
Zus Docs
  • About Züs
  • System
    • Providers and Services
      • Miner
      • Sharder
      • Blobber
      • Validator
      • Authorizer
      • Node Locator (0DNS)
    • Storage
      • Architecture and Data Management
      • Protocol
        • Allocations
        • Reference Objects
        • Challenges
        • Write Markers
          • Chain Hashing
          • Two Commit
        • Blobber Repair Protocol
      • ZS3 Server
        • Backup, Recovery and Replication
        • Encryption and Compression
        • S3FS Setup and Usage
        • Backup & Recovery with Restic on Blimp + ZS3 Server
        • Backup & Recovery with Veeam on Blimp + ZS3 Server
      • File Operations
        • Upload
        • Download
        • File Sharing
        • Partial Error Recovery
        • Streaming
        • Rent a Blobber
    • Smart Contracts
      • Storage S.C.
      • Miner S.C.
      • ZCN S.C.
      • ERC-20 S.C.s
      • Bridge Protocol
    • Blockchain & Consensus
      • Entities
    • User Authentication and Wallet Management System
      • OKTA Integration
      • Key Management System (KMS)
  • APIs
    • 0DNS API
    • JS API
    • Mobile API
  • CLIs
    • Storage CLI
      • Quickstart
      • Configuring the tool
    • Wallet CLI
      • Wallet Configuration
      • Quickstart
      • Configuring the tool
  • SDKs
    • Go SDK
      • GO SDK Microservices
    • JS SDK
  • Tokenomics
    • Staking
    • Reward & Penalty
  • ✨Züs Apps
    • 🗝️Vult
      • Getting Started
        • Web
        • Mobile
      • Vult AI
        • Batch Processing
        • Memory Retention
        • Technical Implementation
        • Architecture Overview
      • Login / Register
      • File Management Pages
      • File Sharing
      • Storage Management Dashboard
      • Storage Maintenance and Troubleshooting
      • Züs Subscription
      • Wallet Management
      • Refer a friend
      • Settings
    • 🏗️Blimp
      • Getting Started
      • Login / Register
      • Configure Storage
        • Create Standard Storage Allocation
        • Create Enterprise Allocation
        • Create S3 Server Allocation
        • Create Cloud Migration Allocation
        • Allocation Maintenance and Troubleshooting
      • File Management Pages
      • File Sharing
      • Manage Allocations
      • Upgrade Storage
      • Blimp Vault
      • Refer a friend
      • Settings
      • Launching ZS3 Server
      • Using CLI to backup files into Blimp + ZS3 Server
    • 🏠Chimney
      • Getting Started
      • Login / Register
      • Create New Deployment
      • Manage Your Deployments
      • Homepage
      • Staking Dashboard
      • Rank Dashboard
      • Monitor Dashboard
      • Stats Dashboard
      • Logs Dashboard
      • Wallet Dashboard
      • Operations on your Deployments
      • Restricted Blobbers
      • Settings
        • Manage Profile
        • Wallet Settings
        • Update Blobber Settings
        • Update Blobber Version
        • Refer a friend
        • Help
    • 🌐Atlus
      • Getting Started
      • Home page
      • Service Providers Page
      • Charts Page
        • Market Charts
        • Network Charts
        • Storage Charts
      • Blockchain Page
      • Server Map Page
      • Storage Explainer Page
      • Details Pages
        • Block Details Page
        • Transaction Details Page
        • Wallet Details Page
        • Miner Details Page
        • Sharder Details Page
        • Blobber Details Page
        • Validator Details Page
        • Authorizer Details Page
        • Allocation Details Page
      • Appendix: Common Components
    • ⚡Bolt
      • Getting Started
        • Web
        • Mobile
      • Login / Register
      • Sign In with external wallet
      • Staking Dashboard
      • Staking/Unstaking a provider
      • Claiming Rewards
      • Send/Receive ZCN tokens
      • Buy ZCN
      • Deposit/Withdraw ZCN tokens
      • Activity Dashboard
      • Refer a friend
      • Settings
  • Releases
    • Hardfork
Powered by GitBook
On this page
  • 1. Sign Up on Blimp
  • 2. Create a Storage Allocation
  • 3. Deploying a New Script Using Blimp
  • 4. Extract the Endpoint from the Blimp-Generated Script
  • 5. Install and Configure MinIO Client (mc)
  • 6. Verifying File Upload in Blimp UI
  • 7. Uploading a File via Blimp UI and Verifying with MinIO Client (mc)
  • 8. Copying a File to the Encrypted Folder Using MinIO Client (mc)
  1. Züs Apps
  2. Blimp

Launching ZS3 Server

ZS3 (Zus S3) is a decentralized, S3-compatible object storage solution built on the Züs Network. It allows users to store and manage data with high security, redundancy, and efficiency while leveraging blockchain technology for decentralized governance and data integrity.

Unlike traditional cloud storage solutions, ZS3 ensures data sovereignty, reliability, and cost-effectiveness by distributing data across multiple storage providers.

This guide provides a step-by-step approach to deploying a ZS3 server using Blimp UI, a web-based interface for managing decentralized storage on the Züs Network.

By following this guide, you will:

  1. Sign Up on Blimp and set up your wallet.

  2. Create a Storage Allocation to reserve decentralized storage space.

  3. Deploy a ZS3 Server Script on your infrastructure.

  4. Extract the Endpoint from the generated script for API access.

  5. Install and Configure the MinIO Client (mc) for S3-compatible operations.

  6. Upload and Verify Files using both Blimp UI and MinIO Client (mc).

  7. Store Files in an Encrypted Folder for additional security.


Prerequisites

Before proceeding, ensure that you have:

1. Sign Up on Blimp

Step 1: Log in to Blimp

  • Open the Blimp user interface and click on Sign up.

  • Enter your username and email address. Then click on Create Account.

Step 2: Verify Email Address

  • Check your email inbox for a one-time password (OTP). Enter the OTP in the Blimp UI to verify your email address.

Step 3: Verify Mobile Number

  • Provide your mobile number in the Blimp UI. Wait for an OTP to be sent to your phone. Enter the OTP to verify your mobile number.

Step 4: Wallet Mnemonics

  • After verifying your mobile number, you will be presented with your wallet mnemonics—a set of 24 unique words used to generate your wallet’s private key.

  • Carefully write down these words and keep them in a secure location. They are crucial for future steps.

  • Click on I’ve written it down to proceed.

Step 5: Mnemonics Verification and Wallet Setup

  • On the next page, verify your mnemonics by entering them in the correct sequence.

  • Set a wallet name of your choice. Create a secure passphrase for your wallet.

Step 6: Finalize Registration

  • Complete the steps and click Continue. Wait for the registration process to finalize.


2. Create a Storage Allocation

Step 1: Navigate to the S3 Tab

  • Open the Blimp UI and navigate to the S3 tab. Click on the Create New Allocation button to start the process of setting up a new allocation.

Step 2: Fill in Allocation Details

  • In the form that appears, enter the required details about your allocation.

  • Once all fields are completed, click the Confirm button to proceed.

Step 3: Select Storage Providers

  • By default, Blobbers are automatically chosen based on geodiversity. Optionally, manually select up to five sharded providers if needed.

  • After finalizing your provider selection, click on the Pay with USD button.

Step 4: Complete Payment

  • You can pay using ZCN from your existing balance. To do so, you'll need to connect your Metamask wallet. Additionally, you have the option to purchase more ZCN if needed.

Upon successful payment, the allocation with be created.


3. Deploying a New Script Using Blimp

Step 1: Generate the Script

  • Enter your IP address in the provided field within the Blimp UI. Click on the Generate Script button.

  • The generated script, along with detailed instructions, will be displayed.

Step 2: Execute the Script

  • Run the script on your machine as instructed.

Once the script runs successfully, Blimp will automatically detect your server and guide you to the next step.

Step 3: Conduct S3 Operations

  • Create a Bucket: Select Create Bucket from the Type of Request menu.

  • Enter your desired bucket name. Click on Run cURL Request.

  • The response will be displayed in the right-hand panel.

  • List Existing Buckets: Choose Buckets from the List Operations section under the Type of Request menu. Click on Run cURL Request to view the list of buckets.

By completing this step, you have successfully deployed the ZS3 server, created the S3-compatible allocation, and performed basic S3 operations.


4. Extract the Endpoint from the Blimp-Generated Script

When you generate and execute the deployment script using Blimp, it provides an endpoint URL for accessing your deployed ZS3 server. This endpoint is dynamically configured within the curl command.

Step 1: Run the Generated Script

After generating the script in Blimp, execute it on your machine. The script includes various parameters such as authentication credentials, location IDs, and domain configurations.

In the provided example, the executed command is:

curl -fsSL https://raw.githubusercontent.com/0chain/zcnwebappscripts/main/blimp.sh | 
sed 's/0chainminiousername/test1/; 
s/0chainminiopassword/rootroot/; 
s/0chainallocationid/6248d6ea85b692c03fd0905935be7a33ed6db791199796f60dd269af145d1a5/; 
s/0chainblockworker/https:\/\/mob.zus.network\/dns\/;
s/blimpdomain/blimp7fyct.zus.network/;
s/0chainwalletid/9febacd3205b6d4f295f40acd3eb0614686a4ba760da7e2227f328585252a/; 
s/0chainwalletpublickey/0e54674f854d067fadeac2c0b7656b32b183062af40c475ac3fa7bf630aaa787f061164a997684/; 
s/0chainwalletprivatekey/d0e04217b6d0195efb82267d4fa98c1d967dd646090409a27e985af3015be117/; 
s/0chainmnemonics/drama funny phone want walnut crazy fancy crop purchase maple crucial chronic client useful blur grace bus daughter promote income mask denial step wisdom/' | bash

Step 2: Identify the Endpoint

Once the script runs successfully, it outputs key configuration details, including the ZS3 server endpoint.

In this case, the endpoint is explicitly displayed as:

zs3server url ---> blimp7fyct.zus.network

This indicates that blimp7fyct.zus.network is the assigned domain for your deployed ZS3 instance.

Step 3: Locate the Endpoint in the Script

The domain name for the server (blimp7fyct.zus.network) is dynamically set within the curl command using:

/blimpdomain/blimp7fyct.zus.network/

5. Install and Configure MinIO Client (mc)

The following steps guide you through installing and setting up the MinIO client (mc) to interact with your deployed ZS3 server.

Step 1: Download the MinIO Client (mc)

Run the following command to download the mc binary for Linux:

wget https://dl.min.io/client/mc/release/linux-amd64/mc

Step 2: Make the MinIO Client Executable

After downloading, set the execute permission on the binary:

chmod +x mc

Step 3: Move Into the mc Directory (If Needed)

If you previously downloaded mc inside an existing directory, navigate into it:

cd mc/

Step 4: Configure MinIO Client (mc) with the ZS3 Server

Now, set up the MinIO client with the ZS3 server by using the generated endpoint from the Blimp script:

./mc alias set zcn https://blimp7fyct.zus.network test1 rootroot --api S3v2
  • zcn → The alias name for the ZS3 server.

  • https://blimp7fyct.zus.network → The endpoint extracted from the Blimp deployment.

  • test1 → The username.

  • rootroot → The password.

  • --api S3v2 → Specifies S3 API compatibility.

Upon success, you will see:

Added 'zcn' successfully.

Step 5: Verify Configuration and List Buckets

To confirm that the connection is established, list all existing S3 buckets:

./mc ls zcn/

This will display a list of buckets on your ZS3 server, similar to:

[2024-10-19 22:40:49 CEST]  0B root/
[2024-10-19 22:40:49 CEST]  0B Encrypted/
[2024-10-19 22:44:59 CEST]  0B test-s3/

6. Verifying File Upload in Blimp UI

Once you have set up the MinIO client (mc) and created an S3-compatible allocation, follow these steps to copy a file to your ZS3 storage and verify it using both the command line and Blimp UI.

Step 1: Navigate to S3 Operations in Blimp UI

  • Open Blimp UI and go to the S3 tab. Select your allocation.

  • Click on the three dots (...) next to your allocation to open the options menu and click on Conduct Operations.

Step 2: List Buckets in Blimp UI

  • In the Conduct Operations section, navigate to List Operations. Click on Buckets.

  • Click on Run Curl Request. The response body on the right panel will display a list of existing buckets.

Step 3: Verify Bucket in MinIO Client (mc)

  • Open your terminal and run the following command. This will list all the files currently in the test-s3 bucket.

    ./mc ls zcn/test-s3

Step 4: Check Files in Your Local Directory

  • Run the following command to verify the presence of the file you want to upload:

    ls -lha

Step 5: Copy File to S3 Bucket Using mc

  • Copy functional-tests.sh to the test-s3 bucket using the following command:

    ./mc cp functional-tests.sh zcn/test-s3

The terminal will show a progress bar indicating the file transfer.

Step 6: Verify the File in MinIO Client

  • Run the following command to check if the file exists in the bucket:

    ./mc ls zcn/test-s3
  • This should list functional-tests.sh, confirming it has been uploaded.

  • To further verify, check the detailed list of files in your current directory:

    ls -lha

Step 7: Verify in Blimp UI

  • Go to the Blimp UI and navigate to the S3 section. Select your allocation and click on the three dots to open the options menu. Click on Conduct Operations.

Step 8: List Bucket Objects in Blimp UI

  • Under List Operations, click on Bucket Objects. Click on Run Curl Request.

  • The response body displayed on the right panel should include:

    {
      "BucketName": "test-s3",
      "BucketObjects": [
        {
          "Name": "functional-tests.sh",
          "LastModified": "2024-10-20T00:01:26Z"
        }
      ]
    }
  • This confirms the functional-tests.sh file is now stored in the bucket.

Step 9: View Uploaded File in Blimp Dashboard

  • Open the Blimp UI Dashboard. Navigate to the test-s3 bucket.

  • You should see the functional-tests.sh file listed in the bucket contents.


7. Uploading a File via Blimp UI and Verifying with MinIO Client (mc)

This section covers how to upload a file using the Blimp UI and verify its presence using the MinIO client (mc).

Step 1: Upload a File via Blimp UI

  • Go to Blimp UI and navigate to the S3 tab. Open the test-s3 bucket (or any other folder where you want to upload the file).

  • Click on Upload File(s). Select the file you want to upload.

  • Optionally, rename the file if needed. Click on Upload to store the file in the selected folder.

Step 2: Verify Upload Using MinIO Client (mc)

  1. Open your terminal. Run the following command to list the files in the test-s3 bucket:

./mc ls zcn/test-s3

The uploaded file should now appear in the list, confirming a successful upload.

The file uploaded via Blimp UI should be visible when running the mc ls command. The output should display the file name, size, and timestamp.


8. Copying a File to the Encrypted Folder Using MinIO Client (mc)

This section guides you through copying a file to the Encrypted folder using the MinIO client (mc) and verifying the upload through the Blimp UI.

Step 1: List Available Buckets

  • Open your terminal and list the existing buckets in your ZS3 storage. You should see an Encrypted folder in the list.

    ./mc ls zcn/

Step 2: Copy a File to the Encrypted Folder

  • Use the MinIO client to copy functional-tests.sh to the Encrypted folder. This command moves functional-tests.sh into the Encrypted folder, securing it.

    /mc cp functional-tests.sh zcn/Encrypted

Step 3: Verify in Blimp UI

  • Open Blimp UI and navigate to the Home page. Click on the Encrypted folder to check if functional-tests.sh appears.

Step 4: Copy Another File to the Encrypted Folder

  • Now, copy another file (helm_0chain_net.tar.gz) into the Encrypted folder. The file will be securely moved into the Encrypted folder.

    /mc cp ../helm_0chain_net.tar.gz zcn/Encrypted

Step 5: Confirm the File in Blimp UI

  • Go back to the Blimp UI. Navigate to the Encrypted folder.

  • You should now see both functional-tests.sh and helm_0chain_net.tar.gz listed.

This confirms that file operations between MinIO (mc) and Blimp UI are properly synchronized.

PreviousSettingsNextUsing CLI to backup files into Blimp + ZS3 Server

Last updated 3 months ago

✨
🏗️
Tutorial 1: Sign up
Tutorial 2: Storage Aloocation
Tutorial 3: Deploy New Script Using Blimp
Tutorial 4: Extract Endpoint from Blimp-generated Script
Tutorial 5: Install and Config mc on the Server
Tutorial 7: Upload using Blimp and Verify with mc
Tutorial 8: Copy file to Encrypted Folder
Fig1: Sign Up
Fig2: Create Account
Fig3: Verify Email
Fig4: Verify Mobile Number
Fig5: Backup Menmonic
Fig6: Verification
Fig7: Finalize
Fig8: Create new S3 allocation
Fig9: Add allocation details
Fig10: Select storage providers
Fig11: Review Payment
Fig12: Get ZCN and confirm payment
Fig13: Generate Script
Fig14: Copy script
Fig15: Execute Script
Fig16: Conduct S3 Operations
Fig17: Run cURL request
Fig18: Check response
Fig19: Choose buckets
Fig20: Identify endpoint
Fig21: Conduct operations
Fig22: List Buckets in Blimp UI
Fig23: Conduct Operations
Fig24: Check file in response body
Fig25: Verify on Blimp UI
Fig26: Upload File
Fig27: Verify Upload
Fig28: List Buckets
Fig29: Copy file
Fig30: Verify in Blimp UI
Fig31: Copy to Encrypted Folder
Fig32: Confirm on Blimp UI