Cosmos
Cosmos | Internet of Blockchains

Engineering Updates

Cosmos Network Engineering Newsletter

March 2020

Cosmos Engineering Updates Cover Image

First edition: Cosmos Development Releases

This is a supplementary newsletter to our Cosmos Hub & Spoke newsletter. If you are interested in receiving our engineering and product updates please sign up and confirm. 

We have moved all non-Github discussions to Discord. If you have questions based on these updates, head to Discord and go to the appropriate product field to ask your questions.


Current products under development support: 

  • Cosmos SDK
  • Tendermint Core
  • IBC 
  • Modules:
    • CosmWasm 
    • Ethermint

Cosmos-SDK

Lead engineer on the Cosmos SDK, Bez, announced the released the Cosmos SDK v0.37.8. Gaia (or sometimes called the Cosmos Hub) also released a new version 02.0.7

Engineering issues have been merged recently for the Cosmos-SDK include:

  • #5684 - Added granularity options to pruning state: nothing, everything, or syncable.
  • #5677 - Changed pubkey to bytes - converted Account.PubKey from string to bytes and use Amino for serialization. This is a temporary fix until Tendermint supports plain byte slices for public keys instead of fixed-sized arrays. 
  • #5685 - Added equal option to various types.
  • #5713 - Fixed ValidatorBasic Check in BaseApp. This was due to the errors handling refactor where if a message’s ValidateBasic fails, it will panic during CheckTx as the gas meter is nil.

Tendermint 

Users of the Cosmos-SDK version 38+ includes version 0.33+ of Tendermint which has a fast new sync version. If you would like to use it then go into the config.toml file shown below and change the default version v0 to v2.

Note: this is mainly for users that are setting up new nodes. 

Update: Check out the Tendermint Discord channel, the team will be launching a beta feature testnet for user feedback soon.

 

Tendermint data bases (Tm-db)  has two releases that span Cosmos SDK, IAVL and Tendermint.

 

Recently closed Tendermint pull requests

  • #4507 - abci-cli: kvstore should store key height - fixed.
  • #4488 - bring clockDrift from the spec.
  • #4473 - modify TrustedValidatorSet func to return height - done.
  • #4470 - lite2: consider storing current valset - allows the relayer to pull the current validator set from the liteclient db and then pass it to the connecting chain.
  • #4464 - cross-check very first header with witnesses.

IAVL + Tree

It provides an immutable data storage structure for the Cosmos-SDK. Recent updates on this product include:

Inter-blockchain Communication (IBC)

The IBC builders just launched the new and improved IBC demo for transfer packets and IBC testnet. You'll want to test this out and get ready for Game of Zones. If you didn't attend the IBC ecosystem call here is what you missed. 

  • #4507 - abci-cli: kvstore should store key height - fixed.
  • #4488 - bring clockDrift from the spec.
  • #4473 - modify TrustedValidatorSet func to return height - done.
  • #4470 - lite2: consider storing current valset - allows the relayer to pull the current validator set from the liteclient db and then pass it to the connecting chain 
  • #4464 - cross-check very first header with witnesses.

CosmWasm

Announcing the MASK contract:

First, a completely updated intro to using cosmwasm/cli this time instantiating and sending erc20 tokens on demo net.

Second, advanced usage of the "mask" contract. This allows you to send messages from the contract on your behalf. Including uploading code as well as sending tokens, erc20 contracts, and even staking commands from the contract.   

New video from CosmWasm community 

New blog post on the topic 

Visualize the demo net 

Ethermint

ChainSafe is working to optimize Ethermint for the Aragon Chain which will be built by migrating Aragon Contracts from Ethereum to Ethermint. This work will consist primarily of implementing various filters which will be used by most Aragon contracts. The milestones for this work currently include:

  • Update to latest Geth
  • Update to latest SDK
  • Implement transaction log reconstruction
  • Implement "eth_netFilter"
  • Implement "eth_getLogs"
  • Implement "eth_uninstallFilter"
  • Implement "eth_ newPendingTransactionFilter"
  • Implement "eth_getFilterChanges"
  • Implement "eth_getFilterLogs"
  • Implement "eth_newBlockFilter"

For more information, you can check out the ChainSafe Ethermint repo

It takes a village...

ChainSafe, Interchain Gmbh, All in Bits (AiB), Iqlusion, Interchain Foundation (ICF), Confio and beyond.

Let us know your product development and engineering updates! 

 
Cosmos
Join the most powerful ecosystem of connected blockchains
Learn more
Forum
Cosmos Forum
Discord
Discord
Telegram
Telegram
Twitter
Twitter
YouTube
YouTube