Skip to content

Latest commit

History

History
31 lines (25 loc) 路 1.21 KB

File metadata and controls

31 lines (25 loc) 路 1.21 KB

Hello Solana

This is it: our first Solana program.

Naturally, we're going to start with "hello, world", but we'll take a look at some of the key things going on here.

Transactions

First thing's first, we have to understand what's in a Solana transaction.

For a closer look at transactions, check out the Solana Core Docs or the Solana Cookbook.

The anatomy of a transaction is as follows, but here's the keys:
馃攽 Transactions are for the Solana runtime. They contain information that Solana uses to allow or deny a transaction (signers, blockhash, etc.) and choose whether to process instructions in parallel.
馃攽 Instructions are for Solana programs. They tell the program what to do.
馃攽 Our program receives one instruction at a time (program_id, accounts, instruction_data).

Transaction

signatures: [ s, s ]
message:
    header: 000
    addresses: [ aaa, aaa ]
    recent_blockhash: int
    instructions: [ ix, ix ]

Instruction

program_id: xxx
accounts: [ aaa, aaa ]
instruction_data: b[]