Nibiru Chain is a breakthrough Layer 1 blockchain and smart contract ecosystem providing superior throughput, improved security, and a high-performance EVM execution layer. Nibiru aims to be the most developer-friendly and user-friendly smart contract ecosystem, leading the charge toward mainstream Web3 adoption by innovating at each layer of the stack: dApp development, scalable blockchain data indexing, consensus optimizations, a comprehensive developer toolkit, and composability across multiple VMs.
- Docs | Nibiru Chain: Conceptual and technical documentation can be found here.
- Complete Golang reference docs: (
pkg.go.dev
) For the blockchain implementation . - Nibiru Modules: Module-specific documentation
If you have questions or concerns, feel free to connect with a developer or community member in the Nibiru Discord. We also have active communities on Twitter and Telegram.
Module | Description |
---|---|
Wasm | Implements the execution environment for WebAssembly (WASM) smart contracts. CosmWasm smart contracts are Rust-based, Wasm smart contracts built for enhanced security, performance, and interoperability. See our CosmWasm sandbox monorepo (nibiru-wasm) for the protocol's core smart contracts. |
EVM | Implements Nibiru EVM, which manages an Ethereum Virtual Machine (EVM) state database and enables the execution of Ethereum smart contracts. Nibiru EVM is an extension of "geth" along with "web3" and "eth" JSON-RPC methods. |
Devgas | The devgas module of Nibiru Chain shares contract execution fees with smart contract developers. This aims to increase the adoption of Nibiru by offering CosmWasm smart contract developers a direct source of income based on usage. |
Epochs | The epochs module allows other modules to set hooks to be called to execute code automatically on a period basis. For example, "once a week, starting at UTC-time = x". epochs creates a generalized epoch interface. |
Inflation | Implements the tokenomics for Nibiru. |
Oracle | Nibiru accurately prices assets using a native, system of decentralized oracles, and communicates with other Cosmos layer-1 chains using the Inter-Blockchain Communication (IBC) protocol. Nibi-Oracle handles the voting process for validators that act as oracles by updating data feeds. |
Common | Helper and utility functions to be utilized by other x/ modules. |
Nibiru is built with the Cosmos-SDK on Tendermint Core consensus and communicates with other blockchain chains using the Inter-Blockchain Communication (IBC) protocol.
Installation instructions for the nibid
binary can be found in INSTALL.md.
Recommended minimum specs:
- 2CPU, 4GB RAM, 100GB SSD
- Unix system: MacOS or Ubuntu 18+
To simply access the nibid
CLI, run:
make install
Usage instructions for the nibid
CLI are available at docs.nibiru.fi/dev/cli and the Nibiru Module Reference.
On a fresh clone of the repo, simply run:
make localnet
and open another terminal.
make proto-gen
We use the golangci-lint linter. Install it and run
golangci-lint run
at the root directory. You can also install the VSCode or Goland IDE plugins.
Run the following commands to set up a local network of Docker containers running the chain.
make build-docker-nibidnode
make localnet-start
Unless a file notes otherwise, it will fall under the MIT License.