Cairo is programming language that can be used to write blockchain applications. The language is novel in that it converts program logic into STARK proofs. This enables an extremely favourable increase in the throughput of a given application.

The benefit of STARKs can be summarised in this python pseudocode.

    # This is not Cairo code.

    from mainnet import security

    def starkify(transactions):
        calldata = get_proof(transactions)
        return calldata

    batch = starkify('100x_more_txs')

    # Prints publicly verifiable transactions at fraction of the cost.
    print(batch)

Some topics:

  • Write StarkNet contract unit tests.
  • Compare and contrast:
    • Cairo programs, for creating provable facts on L1.
    • Cairo contracts, for creating composable L2 applications. They are built from Cairo programs.
  • Use the StarkNet command line interface
  • Review the StarkNet roadmap here
  • Learn more about proofs.
  • Cover the basics. What is Cairo, and why does it matter?
  • Explore what ENS on StarkNet might look like
  • Use an L1 solidity contract to ingest an arbitrary Cairo program proof here.
  • Follow a walkthrough of an AMM program deployed to Ropsten with SHARP here.
  • Build a game on L2 here.

Cairo was invented at Starkware, and for complete and accurate information on how to use the language, see the official docs.