Onyewuchi Emmanuel 82a68b32d5 add basics/hello-solana/poseidon (#139) 9 luni în urmă
..
anchor 97505283f8 feat: Anchor bankrun (#113) 1 an în urmă
native 46f66f3da1 fix: Solana Native and Steel Action should only work on changes. (#325) 11 luni în urmă
poseidon 82a68b32d5 add basics/hello-solana/poseidon (#139) 9 luni în urmă
seahorse b237b18c1e chore: upgrade to 1.18.17 (#97) 1 an în urmă
steel 2c4bc257c8 fix: Steel CLI requires solana keypair at root (#331) 10 luni în urmă
README.md a2831045ac reorg to match readme 3 ani în urmă

README.md

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:
:key: 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.
:key: Instructions are for Solana programs. They tell the program what to do.
:key: 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[]