⛓ The security layer for the KYVE protocol.

The KYVE Chain

v0.2.0

The chain nodes are the backbone of KYVE. The chain layer is a completely sovereign Proof of Stake blockchain build with Cosmos SDK using the Ignite CLI. This blockchain is run by independent nodes we call Chain Nodes since they're running on the chain level. The native currency of the KYVE chain is $KYVE, it secures the chain and allows chain nodes to stake and other users to delegate into them.


Building from source

To build from source, the Ignite CLI is required.

ignite chain build --release --release.prefix kyve

The output can be found in ./release.

If you need to build for different architectures, use the -t flag, e.g. -t linux:amd64,linux:arm64.

Running a chain node

Full documentation for setting up a chain node are provided here.

Owner
KYVE
Building the Web3 data lake solution.
KYVE
Comments
  • panic : invalid memory address or nil pointer dereference

    panic : invalid memory address or nil pointer dereference

    I running chain node with 0.4.0 error: this logs:

    9:49PM INF asserting crisis invariants inv=8/11 module=x/crisis name=staking/nonnegative-power
    9:49PM INF asserting crisis invariants inv=9/11 module=x/crisis name=staking/positive-delegation
    9:49PM INF asserting crisis invariants inv=10/11 module=x/crisis name=staking/delegator-shares
    9:49PM INF asserted all invariants duration=0.958891 height=0 module=x/crisis
    9:49PM INF created new capability module=ibc name=ports/transfer
    9:49PM INF port bound module=x/ibc/port port=transfer
    9:49PM INF claimed capability capability=1 module=transfer name=ports/transfer
    panic: runtime error: invalid memory address or nil pointer dereference
    [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x178cd5d]
    

    please help me.

  • feature: integration tests

    feature: integration tests

    Doesn't affect on chain source code.

    Added

    build:
      main: ./cmd/kyved
    

    In config.yaml Ignite sees two main packages. Because of in node_modules we have chain dependency. With this option we specify correct main package https://docs.ignite.com/kb/config#build

  • V0.6.0

    V0.6.0

    Features

    • Redelegation: Users have 5 Redelegation slots, once all slots are taken one needs to wait until the oldest one expires. The cooldown is 5 days.
    • Reset Height Proposal: The governance can reset the pool height to an earlier state, in case a pool or endpoint got corrupted.
    • Inactive Stakers: Stakers who receive an upload slash or get kicked out of a pool are put in an inactive state. The funds are no longer immediately transferred back. From the inactive staker a user can then unstake the tokens or reactive the node.
    • Minimum Stake for Pools: Each pool can specify a minimum total stake. If the total stake in the pool drops below this value the pool will pause until enough stake is available again.
    • Commission Change Time: A commission change now takes 5 days in order to become active. Delegators have now time to review a commission change and perform a redelegation in case they don't want to support the new commission.

    Improvements

    • Submit bundle hash for each bundle. The bundle hash is stored on chain.
    • Vote weight is now proportional to the stake.
  • V0.5.1

    V0.5.1

    Fixes & Improvements

    • upgrade to latest SDK rc
    • fully switch over to voting enums
    • BundleFinalizedEvent: emit currentHeight for fromHeight
    • VoteEvent: use correct vote enums
  • v0.5.0

    v0.5.0

    Features

    • Gov: Expedited Proposals
    • Gov: Custom voting periods
    • Gov: Include protocol staking and protocol delegation
    • Custom keys for bundles
    • Unbonding time (5 days) for protocol staking and delegation

    Improvements:

    • Added new indexes for querying proposals
    • Switched to typed events
    • Switched to own cosmos fork based on v0.45.5
    • Upgrade to IBC v.3.1.0
    • Switch vote type to enum

    Bug Fixes:

    • Proposals are now stored correctly again. It is necessary to reset the height.
  • V0.4.0

    V0.4.0

    v0.4.0 - 2022-06-7

    Features

    • Implemented scheduled upgrades for pool versions
    • Implemented abstain vote besides valid and invalid. Validators who don't vote 5 times in a row at all get removed with a timeout slash

    Client Breaking Changes

    • The arg vote on MsgVoteProposal changed from bool to uint64. 0 = valid, 1 = invalid, 2 = abstain
    • The arg versions on MsgCreatePoolProposal changed to version
    • The arg binaries got added to MsgCreatePoolProposal

    Improvements

    • Check the quorum of the bundle proposal on chain to prevent unjustified slashes
    • Don't drop bundle proposals if one funder can't afford the funding cost, instead remove all of them and proceed
    • If a validator submits a NO_DATA_BUNDLE the will just skip the upload instead of proposing an empty bundle
    • Added query QueryFunder
    • Added query QueryStaker
    • Added query QueryDelegator

    Bug Fixes

    Deprecated

    • Deprecated versions on kyve.registry.v1beta1.Pool
  • v0.4.0 Release

    v0.4.0 Release

    Summary

    Tracking issue for v0.4.0

    v0.4.0 Release team: @johnletey @troykessler @mbreithecker

    Changelog

    • [x] fix NO_DATA_BUNDLE submit when uploader is same as next_uploader

    • [x] add from_height arg in msg_server_submit_bundle_proposal to prevent invalid bundle creations

    • [ ] add a minimum funding amount to prevent spam

    • [ ] add anonymous voting (?)

    • [x] implement timeouts for not voting (add max_points migration)

    • [x] change the implementation of NO_DATA_BUNDLE to a skip feature

    • [x] call NO_QUORUM_BUNDLE from chain

  • v0.2.0 Release

    v0.2.0 Release

    Summary

    Tracking issue for v0.2.0.

    v0.2.0 Release team: @johnletey @troykessler @mbreithecker.

    Changelog

    • [x] Switch from Starport to Ignite CLI. (https://github.com/KYVENetwork/chain/commit/01f53819c85c6892094335e0536bd349da563fda)
    • [x] Deprecate unbonding for protocol staking and delegating. (https://github.com/KYVENetwork/chain/commit/49d2a6d377dc88b012cf7c88f1042a4c8fb0bbc8)
    • [x] Upgrade Cosmos SDK to v0.45.3. (https://github.com/KYVENetwork/chain/commit/01f53819c85c6892094335e0536bd349da563fda)
    • [ ] Upgrade IBC to v3.0.0 and enable ICA. (nice to have)
    • [x] Implement resubmit feature for NO_DATA_BUNDLEs to prevent unnecessary slashing.
Related tags
Eunomia is a distributed application framework that support Gossip protocol, QuorumNWR algorithm, PBFT algorithm, PoW algorithm, and ZAB protocol and so on.

Introduction Eunomia is a distributed application framework that facilitates developers to quickly develop distributed applications and supports distr

Sep 28, 2021
Encryption Abstraction Layer and Utilities for ratnet

What is Bencrypt? Bencrypt is an abstraction layer for cryptosystems in Go, that lets applications use hybrid cryptosystems without being coupled to t

Nov 9, 2022
Arbitrum is a Layer 2 cryptocurrency platform that makes smart contracts scalable, fast, and private.
Arbitrum is a Layer 2 cryptocurrency platform that makes smart contracts scalable, fast, and private.

Arbitrum is a Layer 2 cryptocurrency platform that makes smart contracts scalable, fast, and private. Arbitrum interoperates closely with Ethereum, so Ethereum developers can easily cross-compile their contracts to run on Arbitrum. Arbitrum achieves these goals through a unique combination of incentives, network protocol design, and virtual machine architecture.

Jan 8, 2023
Troon-NFT-Contract is deployed on Flow Blockchain, which is a white-label smart-contract for NFTs with an addition layer of Brand, Schema and Template

Overview Summary of NFTContract NFTContract is a Non Fungible Token (NFT) standard for Flow blockchain. It offers a powerful set while keeping unneces

Jan 4, 2022
This library aims to make it easier to interact with Ethereum through de Go programming language by adding a layer of abstraction through a new client on top of the go-ethereum library.

Simple ethereum client Simple ethereum client aims to make it easier for the developers to interact with Ethereum through a new layer of abstraction t

May 1, 2022
A guide to smart contract security best practices

Smart Contract Security Best Practices Visit the documentation site: https://consensys.github.io/smart-contract-best-practices/ Read the docs in Chine

Dec 27, 2022
DERO Homomorphic Encryption Blockchain Protocol
DERO Homomorphic Encryption Blockchain Protocol

Homomorphic encryption is a form of encryption allowing one to perform calculations on encrypted data without decrypting it first. The result of the computation is in an encrypted form, when decrypted the output is the same as if the operations had been performed on the unencrypted data.

Dec 27, 2022
Interblockchain communication protocol (IBC) implementation in Golang.

ibc-go Interblockchain communication protocol (IBC) implementation in Golang built as a SDK module. Components Core The core/ directory contains the S

Jan 7, 2023
Implementation of the Filecoin protocol, written in Go
Implementation of the Filecoin protocol, written in Go

Project Lotus - 莲 Lotus is an implementation of the Filecoin Distributed Storage Network. For more details about Filecoin, check out the Filecoin Spec

Jan 9, 2023
Monorepo implementing the Optimistic Ethereum protocol
Monorepo implementing the Optimistic Ethereum protocol

The Optimism Monorepo TL;DR This is the primary place where Optimism works on stuff related to Optimistic Ethereum. Documentation Extensive documentat

Sep 18, 2022
Go Implementation of the Spacemesh protocol full node. 💾⏰💪
Go Implementation of the Spacemesh protocol full node. 💾⏰💪

A Programmable Cryptocurrency go-spacemesh ?? ⏰ ?? Thanks for your interest in this open source project. This repo is the go implementation of the Spa

Dec 29, 2022
Simple, fast and safe cross-platform linear binary stream communication protocol. AES key exchange based on ecc secp256k1

FFAX Protocol 2 dev 简体中文 Welcome to FFAX Protocol v2 Quick start go get github.com/RealFax/FFAX func example() { listener, err := net.Listen("tcp",

Mar 21, 2022
Official Golang implementation of the Ethereum protocol

Go Ethereum Official Golang implementation of the Ethereum protocol. Automated builds are available for stable releases and the unstable master branch

Nov 24, 2021
Official Go implementation of the Ethereum protocol

Go Ethereum Official Golang implementation of the Ethereum protocol. Automated builds are available for stable releases and the unstable master branch

Jan 8, 2023
Go language implementation of a blockchain based on the BDLS BFT protocol. The implementation was adapted from Ethereum and Sperax implementation

BDLS protocol based PoS Blockchain Most functionalities of this client is similar to the Ethereum golang implementation. If you do not find your quest

Oct 14, 2022
RepoETH - Official Golang implementation of the Ethereum protocol
RepoETH - Official Golang implementation of the Ethereum protocol

HANNAGAN ALEXANDRE Powershell Go Ethereum Official Golang implementation of the

Jan 3, 2022
Go-ethereum - Official Golang implementation of the Ethereum protocol

Go Ethereum Official Golang implementation of the Ethereum protocol. Automated b

Jan 4, 2022
Dxc - Go implementation of DxChain3.0 protocol
Dxc - Go implementation of DxChain3.0 protocol

DxChain 3.0 The Ecosystem Powered by DxChain 3.0 Smart Contract Platform While c

Nov 10, 2022
Official Golang implementation of the Ethereum protocol

Go Ethereum Official Golang implementation of the Ethereum protocol. Automated builds are available for stable releases and the unstable master branch

Sep 20, 2022