iavl

module
v2.2.0-rc.2 Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2026 License: Apache-2.0

README

IAVL v2

Forked from v2.0.0-alpha.4 (21fac0bd)

IAVL v2 is performance minded rewrite of IAVL v1. Benchmarks show a 10-20x improvement in throughput depending on the operation. The primary changes are:

  • Sharding: branch nodes every 500_000 height.
  • BTree on disk: SQLite (a mature BTree implementation) is used for storage.
  • DB interface: Allow adding other DB backends.

Install

Use Go modules:

go get github.com/SaharaLabsAI/iavl/v2

Development with Nix

This repository provides a Nix flake development shell (see flake.nix).

  • Enter the dev shell from the repo root:
    • nix develop
  • Run commands inside the shell:
    • go test ./...
    • go build ./...
  • Or run a command without entering an interactive shell:
    • nix develop -c go test ./...

Documentation (in this repo)

  • CHANGELOG: see CHANGELOG.md
  • Contributing guide: see CONTRIBUTING.md
  • Security policy: see SECURITY.md

Contributing

Contributions are welcome! Please read CONTRIBUTING.md before opening a PR. If you're unsure where to start, feel free to propose ideas or small fixes-issues and discussions are appreciated.

License

Licensed under Apache 2.0. See LICENSE for details. Attribution notices are listed in NOTICE.

Jump to

Keyboard shortcuts

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