{"id":13563974,"url":"https://github.com/lavanet/lava","last_synced_at":"2026-01-20T13:01:18.027Z","repository":{"id":65193538,"uuid":"463696512","full_name":"lavanet/lava","owner":"lavanet","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-19T15:48:58.000Z","size":93378,"stargazers_count":414,"open_issues_count":25,"forks_count":225,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-01-19T18:15:49.551Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lavanet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-02-25T22:51:06.000Z","updated_at":"2026-01-19T15:06:05.000Z","dependencies_parsed_at":"2024-01-27T14:23:58.185Z","dependency_job_id":"4fe93d0d-f017-4b71-a2d6-7739c00f5262","html_url":"https://github.com/lavanet/lava","commit_stats":{"total_commits":4220,"total_committers":56,"mean_commits":75.35714285714286,"dds":0.7445497630331754,"last_synced_commit":"64df2bfc7190d56d92988a32312f6bea4ed80763"},"previous_names":[],"tags_count":240,"template":false,"template_full_name":null,"purl":"pkg:github/lavanet/lava","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lavanet%2Flava","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lavanet%2Flava/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lavanet%2Flava/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lavanet%2Flava/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lavanet","download_url":"https://codeload.github.com/lavanet/lava/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lavanet%2Flava/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28603402,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T12:01:53.233Z","status":"ssl_error","status_checked_at":"2026-01-20T12:01:46.545Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T13:01:25.127Z","updated_at":"2026-01-20T13:01:17.996Z","avatar_url":"https://github.com/lavanet.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"\u003c!--\r\nparent:\r\n  order: false\r\n--\u003e\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n  \u003ch1\u003e \u003cimg src=\"https://user-images.githubusercontent.com/2770565/223762290-44afc792-8ad4-4dbb-b2c2-532780d6c5de.png\" alt=\"Logo\" width=\"30\" height=\"25\"\u003e Lava Network  \u003c/h1\u003e\r\n\u003c/div\u003e\r\n\r\n![image](https://user-images.githubusercontent.com/2770565/203528359-dced4d06-f020-4b6a-bb5f-319124924689.png)\r\n\r\n### What is Lava?\r\n\r\nThe 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.\r\n\r\nRead more about Lava in the [whitepaper](http://lavanet.xyz/whitepaper) and visit the [Docs](https://docs.lavanet.xyz?utm_source=github.com\u0026utm_medium=github\u0026utm_campaign=readme)\r\n\r\n## Lava blockchain\r\n\r\nLava is built using the [Cosmos SDK](https://github.com/cosmos/cosmos-sdk/) which runs on top of [Tendermint Core](https://github.com/tendermint/tendermint) consensus engine.\r\n\r\n[Documentation](x/README.md)\r\n\r\n**Note**: Requires [Go 1.23](https://golang.org/dl/)\r\n\r\n## Quick Start\r\n\r\nThe best way to start working with lava is to use docker, for additional reading go to:\r\n[Running via compose](docker/README.md)\r\n\r\n## Contributing\r\n\r\nSee [CONTRIBUTING.md](./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](https://discord.com/invite/Tbk5NxTCdA).\r\n\r\n## Developing\r\n\r\n### Installing development dependencies\r\n\r\nbefore running the scripts make sure you have go installed and added to $PATH, you can validate by running `which go`\r\ninit_install will install all necessary dependencies to develop on lava.\r\n\r\n```bash\r\n./scripts/init_install.sh\r\n```\r\n\r\n### Building the binaries\r\n\r\nLAVA_BINARY=all will build all lava binaries (lavad, lavap, lavavisor) and place them in the go bin path on your environment.\r\n\r\n```bash\r\nLAVA_BINARY=all make install\r\n```\r\n\r\n#### Building the binaries locally\r\n\r\nYou can also build the binaries locally (path will be ./build/...) by running\r\n\r\n```bash\r\nLAVA_BINARY=all make build\r\n```\r\n\r\n#### Building only a specific binary\r\n\r\nit is possible to build only one binary: lavad/lavap/lavavisor\r\n\r\n```bash\r\nLAVA_BINARY=lavad make install\r\n```\r\n\r\nOr check out the latest [release](https://github.com/lavanet/lava/releases).\r\n\r\n### Add `lavad`/`lavap` autocomplete\r\n\r\nYou can add a useful autocomplete feature to `lavad` \u0026 `lavap` with a simple bash [script](https://github.com/lavanet/lava/blob/main/scripts/automation_scripts/lava_auto_completion_install.sh).\r\n\r\n### Syncing Specs with `lavanet/lava-config` repository\r\n\r\nThe specs in this directory need to be synchronized with the [lavanet/lava-config](https://github.com/lavanet/lava-config) repository. This ensures that the specifications are consistent across the Lava Network ecosystem.\r\n\r\n#### Initial Setup (Historical Reference)\r\n\r\nThe specs directory was initially set up as a git subtree using these commands:\r\n\r\n```bash\r\n# Add a remote to track the lava-config repository\r\ngit remote add lava-config git@github.com:lavanet/lava-config.git  # This creates a named reference to the remote repository\r\n\r\n# Add the subtree by pulling from the remote\r\ngit subtree add --prefix=specs https://github.com/lavanet/lava-config.git main --squash\r\n```\r\n\r\n#### Pulling Updates from lava-config\r\n\r\nTo get the latest changes from the lava-config repository:\r\n\r\n```bash\r\ngit subtree pull --prefix=specs https://github.com/lavanet/lava-config.git main --squash\r\n```\r\n\r\n#### Contributing Changes\r\n\r\nTo contribute changes to lava-config:\r\n\r\n1. First, fork the [lavanet/lava-config](https://github.com/lavanet/lava-config) repository to your GitHub account.\r\n\r\n2. After making your changes to the specs, you can:\r\n\r\n   ```bash\r\n   # Create a branch containing only the specs directory history\r\n   git subtree split --prefix=specs -b \u003cbranch-name\u003e --squash\r\n\r\n   # Push your changes to your fork\r\n   git push \u003cyour-fork-remote\u003e \u003cbranch-name\u003e\r\n   ```\r\n\r\n3. Create a Pull Request from your fork to the main lavanet/lava-config repository.\r\n\r\nThe `git remote add` command creates a named reference (\"lava-config\") to the remote repository, making it easier to push and pull changes. Without it, you'd need to specify the full repository URL each time.\r\n\r\nThe `git subtree split` command is useful when you want to extract the history of just the specs directory into its own branch. This can be helpful when preparing changes for a pull request, as it gives you a clean history of only the specs-related changes.\r\n\r\nRemember to always test your changes locally before submitting a PR to ensure the specifications are valid and properly formatted.\r\n\r\n## Join Lava\r\n\r\nJoin Lava's testnet, [read instructions here](https://docs.lavanet.xyz/testnet?utm_source=github.com\u0026utm_medium=github\u0026utm_campaign=readme)\r\n\r\n## Community\r\n\r\n- [Github Discussions](https://github.com/lavanet/lava/discussions)\r\n- [Discord](https://discord.com/invite/Tbk5NxTCdA)\r\n- [X (formerly Twitter)](https://x.com/lavanetxyz)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flavanet%2Flava","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flavanet%2Flava","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flavanet%2Flava/lists"}