☁️
Züs
  • About Züs
  • Concepts
    • Architecture
      • Mining on the Züs Blockchain
        • Onboarding a New Miner or Sharder
        • Block Production Protocol
        • Block Finalization
        • Merkle Patricia Trees(MPT) and Recovery
        • View Change and Distributed Key Generation(DKG)
      • Payment
      • Storage
      • Token Bridge Protocol
      • Resources
    • Tokenomics
      • Staking Process
      • Block Rewards
      • Delegation
    • Store
    • Earn
    • Build
    • NFT
  • Resources
    • Whitepapers
      • Tokenomics Paper
      • Architecture Paper
      • Storage Paper
    • Patents
      • NON-FUNGIBLE TOKEN BLOCKCHAIN PROCESSING
      • FREE STORAGE PROTOCOL FOR BLOCKCHAIN PLATFORM
      • TRANSFERRING CONTENT VIA PROXY RE-ENCRYPTION
      • STREAMING CONTENT VIA BLOCKCHAIN TECHNOLOGY
      • SPLIT-KEY WALLET ACCESS BETWEEN BLOCKCHAINS
      • ENFORCING SECURITY PARAMETERS SPECIFIED BY AN OWNER ON A BLOCKCHAIN PLATFORM
      • CLIENT AUTHENTICATION USING SPLIT KEY SIGNING ON A BLOCKCHAIN PLATFORM
      • BLOCKCHAIN CONTENT PURCHASING PROTOCOL
      • BLOCKCHAIN BASED PRIVACY COMPLIANCE PLATFORM
      • SYSTEMS AND METHODS OF SELF-ADMINISTERED PROTOCOLS ON A BLOCKCHAIN PLATFORM
      • SYSTEMS AND METHODS OF AGGREGATE SIGNING OF DIGITAL SIGNATURES ON MULTIPLE MESSAGES SIMULTANEOUSLY U
      • SYSTEMS AND METHODS OF BLOCKCHAIN PLATFORM FOR AUTOMATED ASSET BASED PROVISIONING OF RESOURCES
      • SYSTEMS AND METHODS OF SELF-FORKING BLOCKCHAIN PROTOCOL
      • SYSTEMS AND METHODS OF SUSTAINABILITY PROTOCOL USING DISTRIBUTED BLOCKCHAIN APPLICATION WITH IoT SEN
      • SYSTEMS AND METHODS OF BLOCKCHAIN PLATFORM FOR DISTRIBUTED APPLICATIONS
  • API Reference
    • Endpoints
      • Block
      • Client
      • Connection
      • DNS
      • File
      • Smart Contracts
      • Blobber Stats
      • Transactions
      • Miners and Sharders
        • Stats
        • State
        • Diagnostics
        • Configuration
        • Smart Contract State
        • Smart Contract Stats
        • Chain Stats
  • Hackathon
    • Register to Hackathon
      • How to Add Members to Hackathon Team
    • Repos
    • Documentation
  • Products
    • Bolt
      • Get Started
      • Stake
      • Activity
      • Buy ZCN
      • Sell ZCN
      • Send Tokens
      • Receive Tokens
      • Settings
        • Manage Profile
        • Wallet
        • Read Pool
      • Troubleshooting
    • Vult
      • Sign Up
      • Upload File
      • Upload an Encrypted File
      • Upload a File to a Folder
      • Share a Uploaded File
      • Move a Uploaded File
      • Delete a File
      • Make File Available Offline
      • Troubleshooting
    • Atlus
      • Dashboard Overview
      • Service Providers
      • Charts
        • Market Charts
        • Network Charts
        • Storage Charts
        • Züs Explainer
      • Blockchain
      • Server Map
    • Blimp
      • Sign Up
        • Buy ZCN for Storage
      • Use Blimp as Direct Storage
      • Use Blimp as S3 Server
        • S3 Operations
      • Use Blimp for Cloud Migration
      • Manage Allocations
        • Extend Size
        • Extend Duration
        • Add Blobber
        • Replace Blobber
        • Make allocation Immutable
        • Freeze Allocation
        • Cancel Allocation
    • Chimney
      • Get Started
      • Deploy Blobber on Own Server
      • Deploy Blobber on Rented Server
      • Stake Blobber
      • Add Blobber
      • Monitor Blobbers
      • Visualize Blobber Logs
      • View Blobber Rank
    • Chalk
      • Sign Up
      • Create NFT Collection
        • Buy ZCN for NFT via ERC token
        • Buy ZCN for NFT via Credit card
      • Explore NFT Collections
      • My NFTs
      • Profile
        • Withdraw Earnings
        • Manage Collections
  • Guides
    • Zus GO SDK
    • Zus JS SDK
    • Zbox CLI
      • Repo
      • Get Started
      • Creating and Managing Allocations
      • Uploading and Managing Files
      • Lock and Unlock Tokens
      • Tips and Troubleshooting
    • Zwallet CLI
      • Repo
      • Get Started
      • Zwallet Operations
      • Staking on miners and sharders
      • Burn and Mint Tokens using Zwallet
      • Troubleshooting
    • Add a Blobber
      • Repo
      • Getting Started
    • Add a Miner/Sharder
      • Repo
      • Getting Started
    • Setup a Blockchain
      • Repo
      • Quickstart
        • Understand the Script
      • Step 1: Set up the project
      • Step 2: Setup the network for Züs components
      • Step 3: Initialize and Build the Züs components
      • Step 4: Start Sharder and Miner Containers
      • Step 5 : Create a wallet using zwalletcli
      • Step 6: Starting the blobber containers
      • Step 7: Validate Züs deployment
      • Step 8: Creating an Allocation on Blobber
      • Restarting Sharder and Miner Containers with CleanDB.
      • Additional Tips and Troubleshooting
    • Glossary
  • Support
    • Help Center
      • Community
      • Issues on Github
      • Contact Us
Powered by GitBook
On this page
  • Required Software dependencies
  • Docker
  • Clone the Blobber Repository
  • Create and Configure Containers for Blobbers
  • Build Blobbers
  • Install zboxcli and create wallet using zwalletcli
  • Run Blobbers
  1. Guides
  2. Add a Blobber

Getting Started

PreviousAdd a BlobberNextAdd a Miner/Sharder

Last updated 1 year ago

This section covers how to install and configure blobber. In order to use blobber functionality, you will need to join the Züs network with the following prerequisites:

Storage : Required Free Space: 5 GB for blobber files and additional free storage space for renting it on Züs network. RAM: 4GB Minimum CPU: 4 Core CPU OS: Linux (Ubuntu Preferred) Version: 20.04 and Above Mac(Apple Silicon or Intel) Version: Big Sur and Above Windows(Requires ) Version: Windows 11 or 10 version 2004 and above

Required Software dependencies

Installing and running blobber requires deployment-specific dependencies to be preinstalled

Docker

Docker is available for Linux, macOS and Windows platforms. Find instructions for the preferred operating system .

Clone the Blobber Repository

After installing Docker and Docker Compose:

  1. Clone the Blobber repository using the command

git clone https://github.com/0chain/blobber.git

2. Navigate into blobber directory

cd blobber

3. Inside blobber directory, run the commands below .The first command makes the shell script executable and while the next ones execute the shell script to create blobber directories.

chmod +x ./docker.local/bin/blobber.init.setup.sh
./docker.local/bin/blobber.init.setup.sh

NOTE: For Mac :

chmod +x ./docker.local/bin/blobber.init.setup-mac.sh
./docker.local/bin/blobber.init.setup-mac.sh

Create and Configure Containers for Blobbers

To create containers for blobbers and allow interaction between them. You need to create a network using docker which connects them with each other.

  1. To set up a network, specify the network name(testnet0),subnet and gateway by using the below command.

docker network create --driver=bridge --subnet=198.18.0.0/15 --gateway=198.18.0.255 testnet0

2. Set up the block_worker URL

A block worker URL is a field in the blobber/config/0chain_validator.yaml and0chain_blobber.yamlconfiguration files that require the URL of network you want to connect to.

Since we are connecting to the network, we will replace the default URL in blobber/config/0chain_validator.yaml and0chain_blobber.yaml with the below-mentioned URL.

block_worker: https://demo.zus.network/dns

3. Navigate to the config directory using

cd blobber/config

You will see blobber and validation files listed

4. Use the nano editor to edit the block_worker field for both files using the command :

nano 0chain_blobber.yaml

and

nano 0chain_validator.yaml

Note: Step 5 and 6 is an optional step and only required when you are setting up blobber on cloud computing instances. In case of a local blobber setup leave them as it is. 5. Navigate back to the blobber directory and modify the b0bnode1_keys.txt located in thedocker.local/keys_config by replacing localhost with public IP of your cloud VM/ instance.

nano /docker.local/keys_config/b0bnode1_keys.txt

Sample Screenshot:

6. In the b0docker-compose.yml file located in thedocker.local directory, edit the command field in the blobber section, the command field will look like this :

Here replace the localhost with < public ip here > of instance /VM IP

Build Blobbers

  1. Now go back to the blobber directory and build containers using the below command

./docker.local/bin/build.base.sh
./docker.local/bin/build.blobber.sh
./docker.local/bin/build.validator.sh

This would take few minutes to set up install dependencies.

Install zboxcli and create wallet using zwalletcli

  1. Once the wallet is created , the wallet information will be stored in wallet.json located in the .zcn folder of the Linux home directory.

  2. Navigate back to the .zcn folder

cd $HOME/.zcn/
  1. Open the wallet.json file. It should be similar to the output below:

{"client_id":"xxxxxxxxxxxxxxxxxxxxxxxxxx",
"client_key":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"keys":[{"public_key":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
"private_key":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}],
"mnemonics":"butter maximum illegal much inch immune unlock resource congress drift>
"version":"1.0","date_created":"2021-09-09T20:22:56+05:30"}

11. Copy the client_id value and paste it into blobbers and validators settings. These are found in blobber/config directory. Navigate to the config directory :

cd blobber/config

You will see blobber and validation files listed

12. Open both the configuration files and edit the delegate_wallet value with client_id copied from wallet. Here is a sample configuration file below:

# [configurations above]

# for testing
#  500 MB - 536870912
#    1 GB - 1073741824
#    2 GB - 2147483648
#    3 GB - 3221225472
capacity: 1073741824 # 1 GB bytes total blobber capacity
read_price: 0.01     # token / GB for reading
write_price: 1.00    # token / GB for writing
# min_lock_demand is value in [0; 1] range; it represents number of tokens the
# blobber earned even if a user will not read or write something
# to an allocation; the number of tokens will be calculated by the following
# formula
#
#     allocation_size * write_price * min_lock_demand
#
min_lock_demand: 0.1
# max_offer_duration restrict long contacts where,
# in the future, prices can be changed
max_offer_duration: 744h # 31 day
challenge_completion_time: 1m # 15m # duration to complete a challenge

# delegate wallet for all rewards, if it's empty, then blobber ID used
delegate_wallet: 'b145bf241eab00c9865a3551b18028a6d12b3ef84df8b4a5c317c8d184a82412'

Run Blobbers

1. In blobber/docker.localdirectory there would be six blobbers created with different folder numbers. See the screenshot below:

2. Navigate to any of the blobber(for example blobber 2) directory using

cd blobber/docker.local/blobber2

3. Run the blobber container using the below command

../bin/blobber.start_bls.sh

Here is a sample output of blobber2 successfully running:

4. Now to check whether blobber is properly running by visit them at the following link localhost:blobber port number

For blobber 1 the port number is 5051 .In our case we started blobber2 so it would be 5052

Here is the sample output:

5. You can repeat step 2 for start the other blobbers .

  1. Now to check whether blobbers has joined the network navigate to zboxcli directory and run the following command

./zbox ls-blobbers

Sample Response:

- id:                    f65af5d64000c7cd2883f4910eb69086f9d6e6635c744e62afcfab58b938ee25
  url:                   http://198.18.0.91:5052
  used / total capacity: 0 B / 1.0 GiB
  last_health_check:	  1635347950
  terms:
    read_price:          10.000 mZCN / GB
    write_price:         100.000 mZCN / GB / time_unit
    min_lock_demand:     0.1
    cct:                 2m0s
    max_offer_duration:  744h0m0s
- id:                    0bf5ae461d6474ca1bebba028ea57d646043bbfb6a4188348fd649f0deec5df2
  url:                   http://beta.0chain.net:31304
  used / total capacity: 14.0 GiB / 100.0 GiB
  last_health_check:	  1635347306
  terms:
    read_price:          26.874 mZCN / GB
    write_price:         26.874 mZCN / GB / time_unit
    min_lock_demand:     0.1
    cct:                 2m0s
    max_offer_duration:  744h0m0s

- id:                    71ac0a40d18ee48f53e73189007ce2c1e8769993c7713aeef07640b53a60149f
  url:                   http://beta.0chain.net:31302
  used / total capacity: 12.7 GiB / 100.0 GiB
  last_health_check:	  1635347348
  terms:
    read_price:          26.865 mZCN / GB
    write_price:         26.865 mZCN / GB / time_unit
    min_lock_demand:     0.1
    cct:                 2m0s
    max_offer_duration:  744h0m0s
- id:                    7a90e6790bcd3d78422d7a230390edc102870fe58c15472073922024985b1c7d
  url:                   http://198.18.0.92:5052
  used / total capacity: 0 B / 1.0 GiB
  last_health_check:	  1635347427
  terms:
    read_price:          10.000 mZCN / GB
    write_price:         100.000 mZCN / GB / time_unit
    min_lock_demand:     0.1
    cct:                 2m0s
    max_offer_duration:  744h0m0s
- id:                    f65af5d64000c7cd2883f4910eb69086f9d6e6635c744e62afcfab58b938ee25
  url:                   http://198.18.0.91:5051
  used / total capacity: 0 B / 1.0 GiB
  last_health_check:	  1635347950
  terms:
    read_price:          10.000 mZCN / GB
    write_price:         100.000 mZCN / GB / time_unit
    min_lock_demand:     0.1
    cct:                 2m0s
    max_offer_duration:  744h0m0s
- id:                    f8dc4aaf3bb32ae0f4ed575dd6931a42b75e546e07cb37a6e1c6aaf1225891c5
  url:                   http://beta.0chain.net:31305
  used / total capacity: 13.3 GiB / 100.0 GiB
  last_health_check:	  1635347346
  terms:
    read_price:          26.874 mZCN / GB
    write_price:         26.865 mZCN / GB / time_unit
    min_lock_demand:     0.1
    cct:                 2m0s
    max_offer_duration:  744h0m0s

In the response you should see the locally running blobbers mentioned with their urls for example http://198.18.0.92:5052.

Installation Instructions for zboxcli can be found .

and .

WSL
here
here
Install zwalletcli
create wallet
63KB
blobber running.png
image