Development

Github metrics:

Product Development Updates

The information is taken from the November edition of the Cosmos Hub & Spoke newsletter

Cosmos SDK

- Modular AnteHandler added — this allows users to specify their own antehandler logic and register these functions with the module manager, rather than recreating all anti-handler logic.

- DeCoupling vesting from x/Auth — this new change decouples vesting from auth and creates a new vesting module, which extends auth’s functionality.

- Cosmos SDK release v0.34.10 — Bump Tendermint version to v0.31.11 to address the vulnerability found in the consensus package

- New DEX demo module for the Cosmos SDK

Inter-Blockchain Communication (IBC)

IBC will serve as an open standard for interchain communication. For a list of IBC implementations, IBC-supporting blockchains, and special IBC bridges, see here.

- The specification version 1.0.0 release candidate 5 is now available, featuring client store layout abstraction, canonical encoding definitions, an improved versioning negotiation sub-protocol, and various bug fixes & clarity improvements.

- An early-stage IBC demo is now available

- First-ever external contribution to the IBC standards repo goes to Everett Protocol

Tendermint Core

- Two security releases were published along with two back-port releases

- Watch the Tendermint developer session ABCI overview

- Recently added an alternative Rust ABCI server

Ethermint

Ethermint is designed to be a Proof of Stake implementation of the Ethereum Virtual Machine built on top of Tendermint Core. For more details on the product, check out our blog post “A Beginner’s Guide to Ethermint.”

- New video tutorial: Getting started with Ethermint

- ChainSafe’s Ethermint Github repo

- Aragon and ChainSafe forum discussion on using Ethermint in production

- Read Aragon One’s blog post on selecting Ethermint for the new Aragon Chain

- Listen to a recent AMA with Aragon, ChainSafe and Cosmos about the Aragon Chain on Ethermint

- Developer session on ETH2.0 lite client with ChainSafe

Development updates for Ethermint from ChainSafe’s Austin Abell

- Implement eth filter endpoints

- Include gas refunds for evm transactions to match total gas usage with Ethereum

- Implement queries through evm module to interact with Ethereum state

- Improve testing framework to ensure compatibility

CosmWasm ready to use for Rust developers

Rust CosmWasm will bring the WebAssembly (Wasm) virtual machine (VM) to the Cosmos SDK for Rust developers. WebAssembly potentially enables software written in arbitrary languages to run securely on any hardware. Wasm is an intermediate language that compiles the developer’s programming language of choice to the user’s hardware.

Current updates on CosmWasm from Ethan Frey

- cosmwasm library to build smart contract and a VM to run them in.

- cosmwasm-opt script and Docker image to produce reproducible, minimal-sized wasm output.

- cosmwasm-template for developers to easily get started on coding contracts.

- go-cosmwasm bindings from cosmwasm/vm to golang, including passing kvstore over foreign function interface (FFI).

- cosmos/modules PR for Cosmos SDK integration.

Visit the CosmWasm Github repo for more details about how to get started coding your first smart contract.

New videos:

Proof of stake at scale

In this talk Marko Baricevic, Product Manager for Tendermint Core, discusses proof of stake at scale with the Cosmos SDK & Tendermint Core

Validator key rotation

In this talk, several members of the Tendermint team and Interchain Foundation discuss validation key rotation

Blockchain interoperability using IBC

In this talk Chris Goes, software developer at Cosmos/Tendermint, and Dead Tribble, CEO of Agoric, discuss blockchain interoperability using the inter-blockchain communication protocol (IBC)

Community-driven testnet for software upgrades

While the Hub-2 upgrade proposal D passed, unfortunately, the execution of the upgrade failed. A new block height, date and time for the next upgrade attempt is currently being discussed on the Cosmos Forum: Cosmos Hub 3 Upgrade Proposal E. Don’t forget to check out the canonical version of the Cosmos SDK that will be used in the next hub upgrade.

Cosmos Hub 3 Upgrade Proposal:

A new proposal by B-Harvest outlines improvements to the P2P management layer of the network targeted at achieving enhanced network stability. If passed and implemented, node operators would benefit from better connectivity between trusted peers and a stronger, more persistent connection to Tendermint.

Centralization of consensus power within the Cosmos Hub has been a hot topic since the mainnet launch. A recent proposal by Sunny Aggarwal, dubbed proportional slashing, offers a solution to reduce the concentration of stake and voting power among the top validators occupying 67% control of the network. In this new proposal, the percentage a validator gets slashed for a fault is proportional to the validator’s percent of consensus power. This way, larger validators face harsher slash amounts thus incentivizing risk-managing delegators to delegate to smaller validators. In the current system, the slashing percent is equal for all slashes.