Nibiru Chain is a proof-of-stake blockchain that unifies leveraged derivatives trading, spot trading, staking, and bonded liquidity provision into a seamless user experience, enabling users of over 40 blockchains to trade with leverage using a suite of composable decentralized applications.
- CosmWasm Smart Contracts: Rust-based, WebAssembly (WASM) smart contracts built for the Cosmos Ecosystem. See our CosmWasm sandbox monorepo (cw-nibiru) for the protocol's core smart contracts.
- Nibi-Perps: A perpetual futures exchange where users can take leveraged exposure and trade on a plethora of assets — completely on-chain, completely non-custodially, and with minimal gas fees.
- Oracle Module: 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) (opens new window)protocol.
- Nibi-Swap: An automated market maker protocol for multichain assets. This application gives users access to swaps, pools, and bonded liquidity gauges.
Module | Description |
---|---|
common | Holds helper and utility functions to be utilized by other x/ modules. |
epochs | Often in the SDK, we would like to run certain code every-so often. The purpose of epochs module is to allow other modules to set that they would like to be signaled once every period. So another module can specify it wants to execute code once a week, starting at UTC-time = x. epochs creates a generalized epoch interface to other modules so that they can easily be signalled upon such events. |
inflation | Implements the tokenomics for Nibiru. |
oracle | Handles the posting of an up-to-date and accurate feed of exchange rates from the validators. |
perp | Powers the Nibi-Perps exchange. This module enables traders to open long and short leveraged positions and houses all of the PnL calculation and liquidation logic. |
spot | Responsible for creating, joining, and exiting liquidity pools. It also allows users to swap between two assets in an existing pool. It's a fully functional AMM. |
wasm | Implements the execution environment for WebAssembly (WASM) smart contracts. |
Nibiru is built with the Cosmos-SDK on Tendermint Core consensus, accurately prices assets using a system of decentralized oracles, and communicates with other Cosmos layer-1 chains using the Inter-Blockchain Communication (IBC) protocol.
Conceptual and technical documentation can be found in the Nibiru docs. Detailed module-specific documentation is included in the top-level README (x/module/README.md)
.
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.
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
Licensed under the MIT License.