nibiru

module
v0.19.2 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2023 License: Apache-2.0

README

Nibiru Chain

Nibiru Test workflow Nibiru Test workflow Go Reference GitHub Personal Website Nibiru Discord Nibiru Medium Blog

Nibiru Chain is a proof-of-stake blockchain and member of a family of interconnected blockchains that comprise the Cosmos Ecosystem. Nibiru powers three main decentralized applications:

  • Nibi-Perps - Perpetuals Exchange: On the perps exchange, users can take leveraged exposure and trade on a plethora of assets: completely on-chain, completely non-custodially, and with minimal gas fees.
  • Nibi-Swap - Spot AMM: An automated market maker for multichain assets. This application gives users access to swaps, pools, and bonded liquidity gauges.
  • NUSD Stablecoin: Nibiru employs a two-token economic model, where NIBI is the governance and utility token for the protocol and NUSD is a capital-efficient, partially collateralized algorithmic stablecoin created by the protocol.

Nibiru is built with the Cosmos-SDK, accurately prices assets using a system of decentralized oracles, and communicates with other Cosmos layer-1 chains using the Inter-Blockchain Communication (IBC) protocol.

⚙️ — Documentation

Conceptual and technical documentation can be found in the Nibiru docs. Each module also contains a detailed specification in its "spec" directory (e.g. x/stablecoin/spec).

💬 — Community

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.

Discord Tweet Telegram


⛓️ Installation: Developing on the chain locally

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+

Nibid CLI

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.

Running a Local Node

On a fresh clone of the repo, simply run:

make localnet

and open another terminal.

Generate the protobufs

make proto-gen

Linter

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.

Multiple Nodes

Run the following commands to set up a local network of Docker containers running the chain.

make build-docker-nibidnode

make localnet-start

License

Copyright © Nibi, Inc. All rights reserved.

Licensed under the MIT License.

Directories

Path Synopsis
app
cmd
x
common/testutil
Package nullify provides methods to init nil values structs for test assertion.
Package nullify provides methods to init nil values structs for test assertion.
common/testutil/cli
Package network implements and exposes a fully operational in-process Tendermint test network that consists of at least one or potentially many validators.
Package network implements and exposes a fully operational in-process Tendermint test network that consists of at least one or potentially many validators.
common/testutil/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
epochs/types
Package types is a reverse proxy.
Package types is a reverse proxy.
oracle/keeper
nolint
nolint
oracle/types
Package types is a reverse proxy.
Package types is a reverse proxy.
perp/types
Package types is a reverse proxy.
Package types is a reverse proxy.
spot/types
Package types is a reverse proxy.
Package types is a reverse proxy.
stablecoin/keeper
Package keeper that mints Nibiru stablecoins, maintains their price stability, and ensures that the protocol remains collateralized enough for stablecoins to be redeemed.
Package keeper that mints Nibiru stablecoins, maintains their price stability, and ensures that the protocol remains collateralized enough for stablecoins to be redeemed.
stablecoin/types
Package types is a reverse proxy.
Package types is a reverse proxy.
util/types
Package types is a reverse proxy.
Package types is a reverse proxy.
vpool/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