Skip to content

Lavacoreteam/Lava

Repository files navigation

Lava

Financial Contributors on Open Collective latest-release GitHub last-release GitHub downloads GitHub commits-since-last-version GitHub commits-per-month GitHub last-commit Total alerts Language grade: C/C++

What is Lava?

Lava is a privacy focused cryptocurrency forked from Zcoin (https://zcoin.io/) that utilizes zero-knowledge proofs which allows users to destroy coins and then redeem them later for brand new ones with no transaction history. Zcoin was the first project to implement the Zerocoin protocol and transitioned to the Sigma protocol which has no trusted setup and small proof sizes. Lava also utilises Dandelion++ to obscure the originating IP of transactions without relying on any external services such as Tor/i2P.

How Lava’s and Zcoin's Privacy Technology Compares to the Competition

A comparison chart of Lava’s solutions with other leading privacy technologies can be found below read more https://lava.money/lavas-privacy-technology-compares-competition/

Running with Docker

If you are already familiar with Docker, then running Lava with Docker might be the the easier method for you. To run Lava using this method, first install Docker. After this you may continue with the following instructions.

Please note that we currently don't support the GUI when running with Docker. Therefore, you can only use RPC (via HTTP or the lava-cli utility) to interact with Lava via this method.

Pull our latest official Docker image:

docker pull lavaofficial/lavad

Start Lava daemon:

docker run --detach --name lavad lavaofficial/lavad

View current block count (this might take a while since the daemon needs to find other nodes and download blocks first):

docker exec lavad lava-cli getblockcount

View connected nodes:

docker exec lavad lava-cli getpeerinfo

Stop daemon:

docker stop lavad

Backup wallet:

docker cp lavad:/home/lavad/.lava/wallet.dat .

Start daemon again:

docker start lavad

Linux Build Instructions and Notes

Dependencies

  1. Update packages

    sudo apt-get update
    
  2. Install required packages

    sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils libboost-all-dev
    
  3. Install Berkeley DB 4.8

    sudo apt-get install software-properties-common
    sudo add-apt-repository ppa:bitcoin/bitcoin
    sudo apt-get update
    sudo apt-get install libdb4.8-dev libdb4.8++-dev
    
  4. Install QT 5

    sudo apt-get install libminiupnpc-dev libzmq3-dev
    sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev
    

Build

  1. Clone the source:

    git clone https://github.com/Lavacoreteam/Lava
    
  2. Build Lava-core:

    Configure and build the headless Lava binaries as well as the GUI (if Qt is found).

    You can disable the GUI build by passing --without-gui to configure.

    ./autogen.sh
    ./configure
    make
    
  3. It is recommended to build and run the unit tests:

    make check
    

macOS Build Instructions and Notes

See (doc/build-macos.md) for instructions on building on macOS.

Windows (64/32 bit) Build Instructions and Notes

See (doc/build-windows.md) for instructions on building on Windows 64/32 bit.

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]