# Integrating with Agoric Network

The Agoric network builds a blockchain for smart contracts in JavaScript using the cosmos-sdk. Cosmos-sdk is software that provides the widely-used Tendermint/CometBFT consensus and best-in-class support for chain operations like staking and governance. For simplicity of chain integration, the Agoric Network works identically to the Cosmos Hub, except using different parameters (e.g., ubld instead of uatom).

# TL;DR for Cosmos-experienced

This section points at relevant reference documentation for the underlying cosmos-sdk and CometBFT/Tendermint consensus engine, and summarizes the differences.

The Agoric Network currently uses cosmos-sdk v0.45. The general Cosmos documentation for this version can be found here (opens new window), including structure andgolang documentation, and REST API documentation.

Use the v0.45.1 version of the REST API (opens new window) for accessing the chain. To use the "Try it out" functionality, change the Base URL to agoric-api.polkachu.com:

Alt name of image

The chain can also be accessed via JavaScript using the cosmjs library (opens new window) (and associated tutorials (opens new window)), or using CosmosKit (opens new window).

# Chain resources


# Tools

# Building agd

The agd command line tool can be built as described in the Agoric getting-started documentation (opens new window). The linked step builds agd. To confirm that agd is in your $PATH, execute

agd version --long

# FAQ

  • How are transactions encoded? https://docs.cosmos.network/v0.45/core/encoding.html
  • What data is needed to create a transaction (last block hash, nonce, sender public key, etc.)? https://docs.cosmos.network/v0.45/core/transactions.html#transaction-generation
  • What data is signed and how is that data obtained (for example truncated SHA256 of transaction data)? https://docs.cosmos.network/v0.45/core/transactions.html#transaction-generation
  • Do transactions expire? Transaction do not expire unless you specify --timeout-height: https://docs.cosmos.network/v0.45/core/transactions.html#transaction-generation However they do have a sequence number and may be invalidated if another transaction with the same sequence number is processed by the chain
  • How are addresses generated? https://docs.cosmos.network/v0.45/basics/accounts.html
  • How is the blockchain queried? JSON-RPC, gRPC, REST https://docs.cosmos.network/v0.45/run-node/interact-node.html