# Features Part 2

**\*\*\*At this time, SOURCE Blockchain is in a testing phase and provides a Public Testnet**. The Testnet can be utilized to deploy Nodes, Validator Nodes and to deploy and test Smart Contracts and decentralized applications.

## **Inter Blockchain Communication (IBC)**

At the heart of Cosmos ecosystem is the [**Inter Blockchain Communication Protocol (IBC)**](https://ibc.cosmos.network/), which sets the table for an interoperable base layer 0 to now be used to transfer data packets across thousands of independent networks supporting IBC. Naturally, the next evolutionary milestone is to enable cross-network smart contracts. This enables Source smart contracts to interoperate with all IBC enabled networks, regardless of wasm support on external networks.

## **Cosmos SDK**

The Source blockchain is built using the [**Cosmos SDK framework**](https://docs.cosmos.network/). A generalized framework that simplifies the process of building secure blockchain applications on top of Tendermint BFT. It is based on two major principles: Modularity & capabilities-based security.

## **Tendermint Core** ![](/files/ajxEtTIWdojYRPB4llXz)

Agreement on the network is reached via [**Tendermint BFT consensus**](https://docs.tendermint.com/).

Tendermint BFT is a solution that packages the networking and consensus layers of a blockchain into a generic engine, allowing developers to focus on application development as opposed to the complex underlying protocol.&#x20;

## Ignite CLI ![](/files/FvpDIfca0LmYgre7SJvS)

[**Ignite CLI**](https://docs.ignite.com/) is a CLI tool for creating and maintaining sovereign application-specific blockchains. Blockchains created with Ignite CLI use Cosmos SDK and Tendermint. Ignite CLI and the Cosmos SDK modules are written in the Go programming language. The scaffolded blockchain that is created with Ignite CLI includes a command line interface that lets you manage keys, create validators, and send tokens.

## **CosmWasm** ![](/files/Xn5OrXfqAIg7kIoV7CGq)

[**CosmWasm**](https://docs.cosmwasm.com/docs/1.0/) is written as a module that can plug into the Cosmos SDK. This means that anyone currently building a blockchain using the Cosmos SDK can quickly and easily add CosmWasm smart contracting support to their chain, without adjusting existing logic.

[**Rust**](https://www.rust-lang.org/) is currently the most used programming language for CosmWasm, in the future, it is possible to have different programming languages like [**AssemblyScript**](https://www.assemblyscript.org/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sourceprotocol.io/source-usdsource/features-part-2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
