Skip to main content

Encoding

Evolution SDK handles multiple encoding formats used across the Cardano ecosystem — hex for raw bytes, Bech32 for addresses, CBOR for on-chain data, and JSON for interchange. The encoding modules provide type-safe conversion between these formats.

How They Connect

Typical flow: Define a schema with TSchema → encode values to PlutusData → serialize to CBOR → get hex for transactions. Addresses use a separate Bech32 path.

Encoding Formats

FormatUse CaseExample
HexRaw bytes, hashes, policy IDs"a1b2c3d4..."
Bech32Addresses"addr_test1vr..."
CBOROn-chain data, transactionsBinary format
PlutusDataSmart contract datums/redeemersStructured data
TSchemaType-safe Plutus schema definitionsSchema + codec
JSONAPI interchange, debugging{ "int": 42 }

Next Steps

  • CBOR — Low-level CBOR encoding and decoding
  • Bech32 — Address encoding format
  • Hex — Hexadecimal encoding for bytes and hashes
  • JSON — JSON data interchange
  • PlutusData — On-chain data structures
  • TSchema — Type-safe schema definitions
  • Plutus Types — Pre-built schemas for Cardano types
  • UPLC — Untyped Plutus Lambda Calculus programs