Skip to content

Interchain Security is an open sourced IBC application which allows cosmos blockchains to lease their proof-of-stake security to one another.

License

Notifications You must be signed in to change notification settings

cosmos/interchain-security

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7861804 · May 8, 2023
Jan 23, 2023
May 8, 2023
Sep 22, 2022
Feb 9, 2023
Feb 7, 2023
May 8, 2023
Sep 9, 2022
May 8, 2023
May 8, 2023
Feb 6, 2023
May 8, 2023
Sep 6, 2022
Jan 10, 2023
Sep 6, 2022
Jul 11, 2022
May 8, 2023
Jan 20, 2023
Jun 30, 2022
Feb 6, 2023
Dec 22, 2022
May 20, 2022
Oct 6, 2021
Feb 9, 2023
Feb 9, 2023
Jan 10, 2023

Repository files navigation

Interchain Security

Go Report Card Security Rating Vulnerabilities Bugs Lines of Code Coverage

interchain-security houses the code for implementing Interchain Security. The repo is currently a WIP and targetting v1 of Interchain Security. For more details on the Interchain Security protocol, take a look at the specification.

CCV stands for cross chain validation and refers to the subset of Interchain Security related to the staking and slashing communication between the provider and consumer blockchains. The provider blockchain communicates staking changes to consumer blockchain(s), while the consumer blockchain may communicate slashing evidence to the provider blockchain.

The code for CCV is housed under x/ccv. The types folder contains types and related functions that are used by both provider and consumer chains, while the consumer module contains the code run by consumer chains and the provider module contains the code run by provider chain.

Instructions

Prerequisites

## For OSX or Linux

# go 1.18 (https://formulae.brew.sh/formula/go)
brew install go@1.18
# jq (optional, for testnet) (https://formulae.brew.sh/formula/jq)
brew install jq
# docker (optional, for integration tests, testnet) (https://docs.docker.com/get-docker/)

Installing and running binaries

# install interchain-security-pd and interchain-security-cd binaries
make install
# run provider
interchain-security-pd
# run consumer
interchain-security-cd
# (if the above fail, ensure ~/go/bin on $PATH)
export PATH=$PATH:$(go env GOPATH)/bin

Inspect the Makefile if curious.

Testing

See testing docs.

Learn more