Giter Site home page Giter Site logo

owen-reorg / bnc-cosmos-sdk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bnb-chain/bnc-cosmos-sdk

0.0 0.0 0.0 30.57 MB

License: Mozilla Public License 2.0

Shell 0.49% Python 3.39% Go 92.92% Makefile 0.91% HCL 0.92% Dockerfile 0.05% Jinja 1.33%

bnc-cosmos-sdk's Introduction

Why we create this repo

This repo is forked from cosmos-sdk.

The BNB Beacon Chain leverages cosmos-sdk to fast build a dApp running with tendermint. As the app becomes more and more complex, the original cosmos-sdk can hardly fit all requirements. We changed a lot to the copied sdk, but it makes the future integration harder and harder. So we decided to fork cosmos-sdk and add features onto it.

Key Features

  1. Native Cross Chain Support. Cross-chain communication is the key foundation to allow the community to take advantage of the BNB Beacon Chain and BNB Smart Chain dual chain structure.
  2. Staking. Staking and reward logic should be built into the blockchain, and automatically executed as the blocking happens. Cosmos Hub, who shares the same Tendermint consensus and libraries with BNB Beacon Chain, works in this way. In order to keep the compatibility and reuse the good foundation of BC, the staking logic of BSC is implemented on BC. The BSC validator set is determined by its staking and delegation logic, via a staking module built on BC for BSC, and propagated every day UTC 00:00 from BC to BSC via Cross-Chain communication.
  3. Rewarding. Both the validator update and reward distribution happen every day around UTC 00:00. This is to save the cost of frequent staking updates and block reward distribution. This cost can be significant, as the blocking reward is collected on BSC and distributed on BC to BSC validators and delegators.
  4. Slashing. Slashing is part of the on-chain governance, to ensure the malicious or negative behaviors are punished. BSC slash can be submitted by anyone. The transaction submission requires slash evidence and cost fees but also brings a larger reward when it is successful. So far there are two slashable cases: Double Sign and Inavailability.
  5. ParamHub && Governance. There are many system parameters to control the behavior of the BNB Beacon Chain and BNB Smart Chain, e.g. slash amount, cross-chain transfer fees. All these parameters will be determined by BSC and BC Validator Set together through a proposal-vote process based on their staking. Such the process will be carried on cosmos sdk.
  6. Performance Improvement Parallelization, dedicated cache, priority lock and many other program skills are applied to improvement the capacity of BNB Beacon Chain.

Quick Start

See the Cosmos Docs and Getting started with the SDK.

Contribution

Thank you for considering to help out with the source code! We welcome contributions from anyone on the internet, and are grateful for even the smallest of fixes!

If you'd like to contribute to bnc-cosmos-sdk, please fork, fix, commit and send a pull request for the maintainers to review and merge into the main code base.

Please make sure your contributions adhere to our coding guidelines:

  • Code must adhere to the official Go formatting guidelines (i.e. uses gofmt).
  • Code must be documented adhering to the official Go commentary guidelines.
  • Pull requests need to be based on and opened against the master branch. Commit messages should be prefixed with the working progress. E.g. "[WIP] make trace configs optional", "[R4R] make trace configs optional".

bnc-cosmos-sdk's People

Contributors

rigelrozanski avatar cwgoes avatar ebuchman avatar ethanfrey avatar jaekwon avatar valardragon avatar mossid avatar sunnya97 avatar zramsay avatar yutianwu avatar fletcher142 avatar rickyyangz avatar ackratos avatar adityasripal avatar faboweb avatar svaishnavy avatar alessio avatar cloudhead avatar greg-szabo avatar davekaj avatar mappum avatar alexanderbez avatar unclezoro avatar unitylchaos avatar forcodedancing avatar gamarin2 avatar melekes avatar jackzampolin avatar mslipper avatar zmanian avatar

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.