webmaster128

@webmaster128

Joined on Nov 21, 2019

  • Support for merkle proofs has been implemented as part of CosmJS by Ethan Frey, Will Clark and Simon Warta between June and August 2020. In order to make this integration possible, a Cosmos SDK client that connects to Tendermint directly had to be implemented. This is available as a separate package @cosmjs/tendermint-rpc to be usable independent of a certain blockchain. Building on top of Tendermint, there is a new package @cosmjs/stargate for connecting to Cosmos SDK 0.40+ blockchains. This package contains a high level StargateClient using a QueryClient. QueryClient is the core of the query work. It only contains two methods queryUnverified and queryVerified but can be extended with module-specific queries. queryUnverified submits a gRPC query and returns a result. Since this includes data processing, such queries cannot be verified. queryVerified accessed Tendermit state directly and allows us to verify light client proofs provided by Tendermint using the ICS23 implementation by Confio. The extension system for QueryClient works very similar to the one in @cosmjs/launchpad. You create a client with all the extensions you need, and have them available in a type safe way:
     Like  Bookmark
  • Up until the 0.9 series, rust-optimizer was simple. It got exactly one simple cargo project and built it into a single contract.wasm and hash.txt. This contract is single crate that can be published to crates.io or any other package repository to allow reproducible builds. The build result was always exactly one file found in target/wasm32-unknown-unknown/release/*.wasm. With the rise of workspace based repositories in cosmwasm-plus, we get a better development experience when working with multiple contracts and their dependencies. At the same time, the build and verification process gets more complicated. Some of the problems are Cargo has not-that-great support for working with workspaces Hard to find the contract dirs Hard to find build results No contract-spefific Cargo.locks Cargo has not-that-great support for working with workspaces
     Like  Bookmark