Cosmos

Cosmos is more of a blockchain ecosystem than a single chain. The premise of Cosmos is creating a network of interconnected blockchains, allowing for theoretically infinite scaling of capacity by adding more application-specific chains. The core of Cosmos is the Cosmos SDK, "A Framework for Building High Value Public Blockchains." Cosmos Hub, the home of the ATOM token, is the primary chain in the network, but most activity we care about occurs on other CosmWasm-enabled chains like Osmosis, Neutron, and Injective.

The Cosmos SDK is written in Go. It includes an optional add-on called CosmWasm, which is the most popular smart contract language in the Cosmos ecosystem. Many chains implement custom functionality in their own Go modules. For example, the Osmosis Dex is implemented in Go modules instead of smart contracts. The point of this being: while different Cosmos chains are largely the same, each may have specific functionality others do not have.

Cosmos is heavily based on gRPC and Protobuf. All messages that can be sent to the chain are encoded in protobufs.

Tooling

One issue when talking about tooling in the Cosmos ecosystem is that there's so much variety. For example, when it comes to blockchain explorers, the most popular is probably MintScan, which supports many Cosmos chains. However, individual chains may end up having their own modified explorers, such as Injective and Sei.

Cosmos provides a command line utility for performing many actions. Personally (written as Michael), I find that tool very confusing to use. It has very stateful management of keys, and the mental model has never really clicked. Instead, for command line access, we generally use the Cosmos CLI tool.

Cosmos provides a number of different protocols for talking to nodes, the primary of which are RPC (used by most tools and libraries, including cosmjs for in-browser interactions) and gRPC. The cosmos-rs library uses gRPC. You can generally find node endpoints on the Cosmos directory (or the testnet directory).

Mainnet, testnet, and local

Most chains provide both a mainnet (where real money lives) and testnet (fake money, data can be reset at any time). They also provide some kind of a local dev experience, usually based on Docker images. These local deployments are perfect for automated CI tests and doing local on-chain testing. As an example, check out LocalOsmosis.