Giter VIP home page Giter VIP logo

alliance's Introduction

๐Ÿค Alliance

Litepaper ยท Technical Documentation ยท Integration Guide


x/alliance interchain security

The Alliance module is part of the Interchain Security (Cosmos Shared Security that benefits from the IBC standard). Alliance is a friction free Interchain Security solution because there is no necessity to share hardware resources, have the blockchains synchronized nor modify the core of the origin chain that provide Interchain Security. Alliance module introduces the concept of alliance coins that can be seen as foreign coins bridged thru an IBC channel (ICS-004), whitelisted with the help of on-chain governance in the Alliance module and delegated by users or smart contracts to the active set of network validators.

Delegators of the alliance coins will be subjected to similar rules as the delegators of native coins but these delegators will provide Interchain Security to the network. The previously mentioned foreign coins can be in the form of Liquid Staked Derivative that benefits from the inflation of its native chain or any type of coin that can be bridged through the previously mentioned channels respecting the ICS-020 standard.

When users delegate coins through the Alliance module the voting power of the validators will be diluted, as a consequence, bad actors will have to increase their capital spendings to try and corrupt the consensus of the blockchain.

By design, x/alliance use the following CosmosSDK modules to implement interchain security to a new or existing blockchain :

Compatibility matrix:

Release Branch CosmosSDK
v0.2.0 release/v0.2.x 0.47
v0.1.0 release/v0.1.x 0.46

Development environment

This project uses Go v1.19 and was bootstrapped with Ignite CLI v0.25.1. However, for ease of upgrade, ignite has been removed in favor of manual workflows.

To run the local development environment use:

$ make serve

If you want to build a binary ready to use:

$ make install

To build the proto files:

$ make proto-gen

Localnet

Docker orchestration to create a local network with 3 docker containers:

  • localnet-start: stop the testnet if running, build the terra-money/localnet-alliance image and start the nodes.
  • localnet-alliance-rmi: removes the previously created terra-money/localnet-alliance image.
  • localnet-build-env: delete and rebuild the terra-money/localnet-alliance
  • localnet-build-nodes: using the terra-money/localnet-alliance starts a 3 docker containers testnet.
  • localnet-stop: stop the testnet if running.

Install

To install the latest version of your blockchain node's binary, execute the following command on your machine:

Join Testnet

Joining the testnet is a very standardized process cosmos chain. In this case you will have to use allianced and follow Terra documentation since it's the same process but replacing it's genesis with the one that you can find in this repo under the path docs/testnet/genesis.json and the following seeds,

Running the simulation

The simulation app does not run out of the box since the alliance module owns all native stake. The x/staking module's operation.go file panics when a delegator does not have a private key.

In order to run the simulation, you can update the x/staking module directly before compiling the simulation app using the following command

go mod vendor
sed -i '' 's/fmt.Errorf("delegation addr: %s does not exist in simulation accounts", delAddr)/nil/g' vendor/github.com/cosmos/cosmos-sdk/x/staking/simulation/operations.go
ignite chain simulate

Learn more

Warning

Please note that this is a beta version of the which still undergoing final testing before its official release. TFL does not give any warranties, whether express or implied, as to the suitability or usability of the software or any of its content.

TFL will not be liable for any loss, whether such loss is direct, indirect, special or consequential, suffered by any party as a result of their use of the software or content.

Should you encounter any bugs, glitches, lack of functionality or other problems on the website, please submit bugs and feature requests through Github Issues.

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.