lava

module
v3.1.10-experimental Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 13, 2024 License: Apache-2.0

README

Logo Lava Network

image

What is Lava?

The Lava Protocol aims to provide decentralized and scalable access to blockchain data through the use of a network of providers and consumers. It utilizes a proof-of-stake consensus mechanism and incentivizes participants through the use of its native LAVA token. The protocol includes features such as a stake-weighted pseudorandom pairing function, backfilling, and a lazy settlement process to improve scalability and efficiency. The roadmap for the Lava Protocol includes further development of governance, conflict resolution, privacy, and quality of service, as well as support for additional API specifications. It is designed to be a public good that enables decentralized access to the Web3 ecosystem.

Read more about Lava in the whitepaper and visit the Docs

Lava blockchain

Lava is built using the Cosmos SDK which runs on top of Tendermint Core consensus engine.

Documentation

Note: Requires Go 1.20.5

Quick Start

The best way to start working with lava is to use docker, for additional reading go to: Running via compose

Contributing

See CONTRIBUTING.md for details on how to contribute. If you want to follow the updates or learn more about the latest design then join our Discord.

Developing

Installing development dependencies

before running the scripts make sure you have go installed and added to $PATH, you can validate by running which go init_install will install all necessary dependencies to develop on lava.

./scripts/init_install.sh

Building the binaries

LAVA_BINARY=all will build all lava binaries (lavad, lavap, lavavisor) and place them in the go bin path on your environment.

LAVA_BINARY=all make install

Building the binaries locally

You can also build the binaries locally (path will be ./build/...) by running

LAVA_BINARY=all make build

Building only a specific binary

it is possible to build only one binary: lavad/lavap/lavavisor

LAVA_BINARY=lavad make install

Or check out the latest release.

Add lavad/lavap autocomplete

You can add a useful autocomplete feature to lavad & lavap with a simple bash script.

Join Lava

Join Lava's testnet, read instructions here

⚠️ THERE'S NO MAINNET LAVA TOKEN, BE AWARE OF SCAMS.

Community

Directories

Path Synopsis
app
cmd
ecosystem
protocol
chainlib
Code generated by MockGen.
Code generated by MockGen.
chainlib/chainproxy/rpcclient
package rpcclient implements bi-directional JSON-RPC 2.0 on multiple transports.
package rpcclient implements bi-directional JSON-RPC 2.0 on multiple transports.
chainlib/grpcproxy/testproto
Package testproto is a reverse proxy.
Package testproto is a reverse proxy.
rpcconsumer
Package rpcconsumer is a generated GoMock package.
Package rpcconsumer is a generated GoMock package.
rpcprovider
Code generated by MockGen.
Code generated by MockGen.
statetracker/updaters
Package updaters is a generated GoMock package.
Package updaters is a generated GoMock package.
testutil
e2e
nullify
Package nullify provides methods to init nil values structs for test assertion.
Package nullify provides methods to init nil values structs for test assertion.
cli
x
conflict/types
Package types is a reverse proxy.
Package types is a reverse proxy.
downtime/v1
Package v1 is a reverse proxy.
Package v1 is a reverse proxy.
dualstaking/types
Package types is a reverse proxy.
Package types is a reverse proxy.
epochstorage/types
Package types is a reverse proxy.
Package types is a reverse proxy.
fixationstore/types
Package types is a reverse proxy.
Package types is a reverse proxy.
pairing/types
Package types is a reverse proxy.
Package types is a reverse proxy.
plans/types
Package types is a reverse proxy.
Package types is a reverse proxy.
projects/types
Package types is a reverse proxy.
Package types is a reverse proxy.
protocol/types
Package types is a reverse proxy.
Package types is a reverse proxy.
rewards/types
Package types is a reverse proxy.
Package types is a reverse proxy.
spec/types
Package types is a reverse proxy.
Package types is a reverse proxy.
subscription/types
Package types is a reverse proxy.
Package types is a reverse proxy.
timerstore/types
Package types is a reverse proxy.
Package types is a reverse proxy.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL