Giter Site home page Giter Site logo

mertoog / bazuka Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ziesha-network/bazuka

0.0 0.0 0.0 1.48 MB

Rust implementation of Ziesha protocol

Home Page: https://ziesha.network

License: MIT License

Shell 0.03% Python 1.01% Rust 98.73% Dockerfile 0.10% Jinja 0.13%

bazuka's Introduction

ℤ - Bazuka!

Bazuka codecov

Bazuka is a wallet and node software for the Ziesha (ℤ) Protocol. Ziesha is a novel layer-1 cryptocurrency which uses Zero-Knowledge proofs as the backend of its smart-contract (I.e Zero Contracts).

Bazuka ensures the availability of latest contract-states, so that they remain public and everybody is able to update and build on them, making Ziesha a more decentralized protocol compared to similar projects.

Links

How to run a Bazuka node?

If you only want to run a Ziesha node and do not want to execute Zero Contract or mine Ziesha, you will only need to install bazuka (This repo). In case you also want to mine Ziesha, you will need to install zoro (The Main Payment Network executor) and also the uzi-miner (A RandomX CPU miner).

How to install bazuka?

  • Prepare a Linux machine.
  • Make sure you have installed libssl-dev and cmake packages.
    sudo apt install -y build-essential libssl-dev cmake
    
  • Install the Rust toolchain (https://rustup.rs/)
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
  • Clone the bazuka repo:
    git clone https://github.com/ziesha-network/bazuka
    
  • Warning: Make sure Rust binaries are present in your PATH before compiling:
    source "$HOME/.cargo/env"
    
  • Compile and install:
    cd bazuka
    cargo install --path .
    

Now if you want to join the groth-3 testnet, you first have to initialize your node. If you have already initialized bazuka for the Debug Testnet, you first need to remove your previous initialization by running:

rm ~/.bazuka.yaml

Then initialize:

bazuka init [flags...]

Available flags:

  • --bootstrap <bootstrap>...: You can use the nodes introduced by the community as your bootstrap nodes through this flag.
  • --db <db>: Path of the node's database. Default: ~/.bazuka.
  • --external <external>: Public ip/port of your node. Default: YOUR_PUBLIC_IP:8765.
  • --listen <listen>: Local socket. Default: 0.0.0.0:8765.
  • --mnemonic <mnemonic>: If you already have a 12-word mnemonic phrase, you can pass it through this flag. If not provided, a new wallet will be generated for you. Keep the mnemonic word list somewhere safe!
  • --network <network>: The network your node will operate on. Default: mainnet

Example to initialize a node with 2 bootstrap nodes 23.34.12.45:8765 and 34.56.78.23:8765 on the groth-3 network:

bazuka init --network groth-3 --bootstrap 23.34.12.45:8765 --bootstrap 34.56.78.23:8765

After initializing your node you can run it through:

bazuka node start --discord_handle "YOUR DISCORD HANDLE"

Highly recommended to also provide your Discord handle through the --discord-handle flag. By providing your handle, you will leave our bots a way to contact you regarding the problems you may have in your node and its status.

Useful commands:

bazuka wallet info Show your wallet address/balances

bazuka wallet deposit Deposit funds to the MPN-contract

bazuka withdraw Withdraw funds from the MPN-contract

bazuka wallet rsend Send funds through a regular-transaction

bazuka wallet zsend Send funds through a zero-transaction

bazuka init Initialize node/wallet

bazuka node start Start your node

bazuka node status Get status of a node

bazuka's People

Contributors

keyvank avatar kwanccc avatar n1rna avatar ehsundar avatar krypton193 avatar geusebetel avatar ruesandora avatar bonedaddy avatar toolfun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.