Giter VIP home page Giter VIP logo

nibiruchain / nibiru Goto Github PK

View Code? Open in Web Editor NEW
175.0 14.0 206.0 62.25 MB

Nibiru Chain: The breakthrough smart contract platform ushering in the next era of money. Nibiru powers an ecosystem of dApps including perps, RWAs, and more.

Home Page: https://nibiru.fi

License: Apache License 2.0

Go 97.36% Makefile 0.62% Dockerfile 0.08% Shell 1.35% Python 0.33% Just 0.09% Solidity 0.02% JavaScript 0.16%
cosmos-sdk cryptocurrency nibiru-chain blockchain cosmwasm cometbft golang

nibiru's Introduction

Nibiru Chain

Go Reference Nibiru Test workflow Nibiru Test workflow GitHub Discord Badge

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.

⚙️ — Documentation

💬 — 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

🧱 — Components of Nibiru

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 (cw-nibiru) 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.


⛓️ — Building: make commands

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

Unless a file notes otherwise, it will fall under the MIT License.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.