☁️
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
  • System Requirements
  • Install zwalletcli
  • Linux Installation
  • Windows Installation
  • macOS Installation
  • Building ZWallet
  • Building zwalletcli for WIndows
  • Building zwalletcli for Mac and Linux
  • Configure ZWallet network
  • Creating a Wallet
  • Checking the wallet balance
  • Getting tokens into the wallet
  1. Guides
  2. Zwallet CLI

Get Started

This section covers ZWallet CLI repository configuration, and installation.

PreviousZwallet CLINextZwallet Operations

Last updated 1 year ago

System Requirements

To properly build components, you must have a machine setup with the following requirements:

  • Linux (Ubuntu Preferred) Version: 20.04 or Above Mac(Apple Silicon or Intel) Version: Big Sur or Above Windows : Windows 10 or Above

  • 4 vCPU, 4 GB Memory at minimum

  • 1 GB of space minimum for zwallet build components

Install zwalletcli

Linux Installation

  1. Open terminal and download the latest linux zwalletcli archive release

curl -LO https://github.com/0chain/zwalletcli/releases/download/v1.10.0/zwallet-macos.tar.gz
  1. Extract the downloaded archive to a specified directory using the command below.

sudo tar -xzf zwallet-linux.tar.gz --directory /usr/local/bin

3. Provide execution privileges to the executable.

chmod +x /usr/local/bin/zwallet

4. Navigate to the extracted directory path.

cd /usr/local/bin
  1. Run the zwallet executable by using the command below.

./zwallet

On successful installation you will see a help section:

Use Zwallet to store, send and execute smart contract on 0Chain platform.
                        Complete documentation is available at https://0chain.net

Usage:
  zwallet [command]

Available Commands:
  auth-register             Register an authorizer manually
  auth-sc-delete            Deletes an authorizer to token bridge SC manually
  auth-sc-register          Register an authorizer to token bridge SC manually
  
Use "zwallet [command] --help" for more information about a command.

Windows Installation

  1. Extract the executable from archive zwallet-windows.zip

  2. Run the executable zwallet.exe in windows command prompt.

  3. On successful installation you will see a help section similar to response below :

Use Zwallet to store, send and execute smart contract on 0chain platform.
                        
Usage:
  zwallet [command]

Available Commands:
  auth-register             Register an authorizer manually
  auth-sc-delete            Deletes an authorizer to token bridge SC manually
  auth-sc-register          Register an authorizer to token bridge SC manually

macOS Installation

curl -LO https://github.com/0chain/zwalletcli/releases/download/v1.10.0/zwallet-macos.tar.gz
  1. Extract the downloaded archive to a specified directory using the command below:

sudo tar -xzf zwallet-macos.tar.gz --directory /usr/local/bin
  1. Provide execution privileges to the executable.

chmod +x /usr/local/bin/zwallet
  1. Navigate to extracted directory path .

cd /usr/local/bin
  1. Run the zwallet executable using the command below.

./zwallet

On successful installation you will see a help section similar to response below :

Use Zwallet to store, send and execute smart contract on 0Chain platform.
            
Usage:
  zwallet [command]

Available Commands:
  auth-register             Register an authorizer manually
  auth-sc-delete            Deletes an authorizer to token bridge SC manually
  auth-sc-register          Register an authorizer to token bridge SC manually

Note: The above response is shortened for formatting purposes.

Building ZWallet

Building zwalletcli for WIndows

Windows 64bit (tested with Windows 11)

  1. Open MSYS2 MINGW64 shell from the windows start menu. The MINGW64 shell window will be similar to screenshot below.

  1. Install the following libraries:

pacman -S base-devel git gcc make
  1. Install clang, go for mingw64 and unzip

pacman -S  mingw-w64-x86_64-clang mingw-w64-x86_64-go unzip

Note: Restart mingw64 shell for Go to make changes.

  1. Set environment variables

    export GOROOT=/mingw64/lib/go
    export GOPATH=/mingw64
    export PATH=$PATH:$GOROOT/bin
    
    # use clang as a default compiler for CGO
    go env -w "CC=/mingw64/bin/clang.exe"
  2. Clone zwalletcli

git clone https://github.com/0chain/zwalletcli.git
  1. Navigate to zwalletcli and run the following command :

cd zwalletcli
make install
  1. Unzip and copy dll's to zwalletcli directory. The zwalletcli directory will be available at the following path C:\msys64\home\<windows_username>\zboxcli if cloned under mingw64 shell.

  2. Now run the ./zwallet command under zwalletcli directory .

./zwallet

On a successful build you will see a help section

Building zwalletcli for Mac and Linux

GoLang Binaries

Build-Essential(For Linux Only )

The build essential package is required to build and make zwallet application. It includes the necessary GCC/g++ compilers and other essential critical libraries and utilities.

Run apt update command to update the packages.

sudo apt update

Get Build-essential package.

sudo apt-get install build-essential

Git(For Linux Only )

Git is required to retrieve and clone the Zbox repository. Install Git by using the command

sudo apt install git

1. Clone the zwallet repository using the command

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

2. Navigate to zwallet directory using

cd zwalletcli

3. Use the make install command to compile the source code.

make install

This might take couple of minutes. Sample output after successful compiling:

  1. Start the zwallet by typing

./zwallet

On a successful build you will see a help section.

Configure ZWallet network

  1. Open terminal and make a new .zcn folder in the home directory of your system using the command below:

mkdir $HOME/.zcn

Note: For windows create a folder named .zcn at `C:\Users\<windows_username>`path

cp network/config.yaml $HOME/.zcn/config.yaml
  1. Open the config.yaml file located at $HOME/.zcn path of your system.The contents should be similar to the file below.

---
block_worker: https://demo.zus.network/dns
signature_scheme: bls0chain
min_submit: 50
min_confirmation: 50
confirmation_chain_length: 3
max_txn_query: 5
query_sleep_time: 5
# # OPTIONAL - Uncomment to use/ Add more if you want
# preferred_blobbers:
#   - http://one.devnet-0chain.net:31051
#   - http://one.devnet-0chain.net:31052
#   - http://one.devnet-0chain.net:31053

Creating a Wallet

ZWallet CLI provides a long list of commands to use. Lets begin with creation of wallet on Züs decentralized network.

For creating a wallet using ZWallet. Simply run create-wallet command and this creates a wallet at default location~/.zcn/wallet.json

Sample Command

./zwallet create-wallet

Sample Output

wallet saved in /home/ubuntu/.zcn/wallet.json
{"client_id":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"client_key":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"keys":[{"public_key":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"private_key":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}],
"mnemonics":"xxxx xxxx xxxx xxxxx",
"version":"1.0","date_created":"2023-05-03T12:44:46+05:30","nonce":0}

Here is a sample with faucet command which will create a wallet with test tokens at default location~/.zcn/wallet.json

To add tokens to the wallet run zwallet faucet command.

./zwallet faucet --methodName pour --input "new wallet"

Checking the wallet balance

To check whether the wallet is successfully created, verify the token balance in zwallet using

./zwallet getbalance

Note that by default zwallet checks balance for the wallet specified in wallet.json file located in the zcn folder in linux home directory.

Successful Response for ./zwallet getbalance command:

Balance: 1 (1.17 USD)
​

Getting tokens into the wallet

If getting Get balance failed.error when running ./zwallet getbalance command. Run the ./zwallet faucet --methodName pour --input "{Pay day}" command and then check the balance again.

The faucet command will get test tokens into the wallet for transactional purposes and make the wallet usable. Successful Response of the faucetcommand:

Execute faucet smart contract success

Now you have a wallet with available ZCN tokens, which can be used with 0chain blockchain and decentralized storage services.

6.

7.

Download the latest windows zwalletcli archive release from .

Note: The above response is shortened for formatting purposes. 5.

6.

Open terminal and download the latest mac zwalletcli archive release

6.

7.

Installing msys2 from .

Download necessary dll files as zip from .

11.

12.

Installation instructions for Go can be found.

8.

9.

Configuration for the Züs network by default is stored in network/config.yaml file of the which we will copy to a new config.yaml file in our local system .

Copy from network directory in zwalletcli repo to .zcn directory.

Zwallet connects to the Züs network using the block_worker field. These network details are automatically fetched from the blockWorker's network API. Preferred Blobbers are also present which you can uncomment for using specified storage providers for handling your files. Note: In case you are configuring zwallet network for the block_workershould be set to

here
.
here
here
here
zwallet github repo
config.yaml
setting up blockchain locally
http://198.18.0.98:9091/
.
Linux Installation
macOS Installation
Windows Installation
Building zwalletcli from source
Configure zwallet network
Create wallet
Configure zwallet network
Create wallet
Configure zwallet network
Create Wallet
Configure zwallet network
Create Wallet
Configure zwallet network
Create Wallet