Клиент, кошелёк, RPC, программа и индексатор имеют разные границы доверия.
Data accounts имеют owner, bytes и lamports; расчёт space влияет на жизненный цикл.
v0-транзакции и lookup tables уменьшают размер списка адресов.
Compute units и priority fee измеряют по логам, а не выбирают наугад.
CLI помогает проверять cluster, address и учебные ключи без публикации секретов.
Local validator делает тесты детерминированными, devnet проверяет интеграцию сети.
Workspace связывает Rust, tests, Anchor.toml, program id и IDL.
Первая инструкция учит Context, Result и проверяемому program id.
Типы делают state machine и ошибки явными.
Borrowing помогает читать и менять данные осознанно, но не отменяет on-chain checks.
Свяжите Result, authority и тестируемую ошибку.
IDL связывает Rust-инструкции с TypeScript-клиентом.
Constraints выражают signer, seeds, bump, has_one, owner и address.
PDA детерминирован из seeds, bump и program id; приватного ключа у него нет.
CPI вызывает другую программу, а invoke_signed доказывает PDA-authority.
Vault объединяет PDA state, authority и контролируемый token CPI.
Ошибки, логи и закрытие аккаунта делают программу наблюдаемой и управляемой.
Escrow — конечный автомат с путями deposit, release и cancel.
Token CPI требует ожидаемые mint, token accounts, authority и token program.
Расширения Token-2022 меняют контракт токена и требуют явной поддержки.
Создайте mint и ATA, докажите authority наблюдаемым изменением balance.
Клиент сначала симулирует transaction, затем подписывает, отправляет и подтверждает.
Оракул требует проверок разрешённого feed, свежести и confidence.
Missing signer, arbitrary CPI, PDA mismatch, reinit и integer bugs требуют негативных тестов.
Исправление связывает угрозу, инвариант, constraint и regression test.
Порядок транзакций важен для UX; курс не учит sandwich-ботам.
UI подключает кошелёк и читает asset, не перенося авторизацию в браузер.
Итог: PDA, constraints, tests, client и devnet-доказательство в одном проекте.
Войдите и запишитесь, чтобы открывать уроки и сохранять прогресс.