https://github.com/dabevlohn/get-sol-trans-info
https://github.com/dabevlohn/get-sol-trans-info
Last synced: 6 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/dabevlohn/get-sol-trans-info
- Owner: dabevlohn
- Created: 2026-04-24T14:48:10.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-07-15T07:36:09.000Z (14 days ago)
- Last Synced: 2026-07-15T09:12:07.357Z (14 days ago)
- Language: Just
- Homepage:
- Size: 78.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Инструкция для студентов, присупающих к разработке курсового проекта
В этом документе подробно изложен процесс установки и настройки рабочего окружения с использованием CLI. При его составлении мы опирались на официальные инструкции Solana и Anchor, а также на release notes Anchor, где явно указаны совместимости версий и важные изменения.
По прочтении инструкции студент должен понять:
- какие проекты экосистемы Solana доступны в открытых источниках (opensource),
- чем отличаются разные версии/реализации Solana,
- какие варианты установки возможны: сборка из исходников, скачивание бинарника с официального репозитория и т.д.,
- какие версии Anchor совместимы с какими версиями Solana,
- как установить Anchor (с менеджером версий, без менеджера версий и т.д.),
- какие системные библиотеки должны присутствовать с ОС до начала установки Solana и Anchor и как их установить,
- как проверить, что все установки прошли корректно, и можно приступать к разработке смарт-контрактов.
## Что входит в экосистему
В open source-экосистеме Solana полезно знать как минимум такие проекты: сам клиент/валидатор Solana/Agave, Rust-крейт `solana` и связанные CLI-инструменты, Anchor Framework, AVM (Anchor Version Manager), `solana-verify` для верифицируемых сборок, а также наборы примеров и учебных репозиториев.
С практической точки зрения для студента важны 4 уровня: язык и toolchain Rust, CLI сети Solana, фреймворк Anchor, и вспомогательные утилиты для тестов, деплоя и верификации.
## Разные реализации Solana
Исторически у Solana CLI и validator были релизы из репозитория `solana-labs/solana`, а сейчас в документации и релизах чаще используется `anza-xyz/agave`; в официальной документации также прямо сказано, что Agave — это validator client от Anza, ранее известный как Solana Labs validator client.
Важно понимать, что под “Solana” в установке обычно подразумевается не одна программа, а целый tool suite: `solana`, `solana-keygen`, локальный validator, RPC-клиентские утилиты и конфигурация CLI.
## Варианты установки
Есть несколько рабочих вариантов установки, и их полезно разделять по сценарию.
- Быстрая установка одной командой. Официальная документация Solana предлагает скрипт, который ставит Rust, Solana CLI и Anchor сразу; это самый удобный путь для учебных лабораторных.
- Ручная установка по компонентам. Сначала Rust, затем Solana CLI, затем Anchor, плюс Node.js и Yarn при работе с TypeScript-тестами.
- Установка Solana CLI из официального релизного канала. В документации Anchor указано, что можно ставить `stable`, `beta`, `edge` либо конкретный релизный тег вроде `v2.0.3`.
- Сборка Solana CLI/validator из исходников. В open source репозитории Agave есть инструкции по `git clone` и `cargo build`; это подходит тем, кто хочет воспроизводить или модифицировать runtime/validator.
- Установка Anchor через AVM. Это рекомендованный способ: он позволяет ставить несколько версий Anchor и быстро переключаться между ними.
- Установка Anchor без AVM. В официальной документации есть вариант прямой установки из GitHub, но он менее удобен для учебных групп и для проектов с разными версиями.
Отдельно стоит `solana-verify`: его обычно ставят через `cargo install`, а для работы нужен Docker и Cargo.
## Совместимость версий
Самый важный практический момент: версия Anchor должна соответствовать версии Solana CLI, иначе `anchor build` и `anchor test` часто ломаются.
Ниже — упрощённая таблица по официальным release notes Anchor:
| Anchor | Рекомендуемая Solana | Примечание |
| :-- | --: | :-- |
| 0.29.0 | 1.16.0+ | Solana 1.14 больше не поддерживается. |
| 0.30.0 | 1.18.8 | Поддержка начинается выше 1.16, но рекомендована именно 1.18.8. |
| 0.31.0 | 2.1.0 | В релизе отмечен переход на Agave-нейминг бинарников. |
| 0.32.0 | 2.3.0 | В release notes указана рекомендованная версия Solana 2.3.0. |
Практическое правило: не ставьте “latest” у Anchor и Solana независимо друг от друга, если работаете над учебным проектом или шаблоном курса; сначала зафиксируйте пару версий в документации проекта, а потом ставьте именно их.
## Системные зависимости
Перед установкой нужно убедиться, что ОС готова принять Rust/Solana/Anchor. Официальная документация Anchor рекомендует: на Windows — WSL, на Linux — зависимости системного уровня, на macOS — можно начинать с Rust.
На Linux/WSL обычно нужны такие пакеты: `libssl-dev`, `libudev-dev`, `pkg-config`, `zlib1g-dev`, `llvm`, `clang`, `cmake`, `make`, `libprotobuf-dev`, `protobuf-compiler`, `libclang-dev`. Это подтверждается и документацией Solana validator/Agave, где перечислены аналогичные библиотеки для сборки.
На Ubuntu это обычно ставится так:
```bash
sudo apt-get update
sudo apt-get install -y libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang cmake make libprotobuf-dev protobuf-compiler libclang-dev
```
На Fedora набор отличается, но смысл тот же: SSL, udev/systemd, pkg-config, zlib, LLVM/clang, cmake, protobuf и libclang.
Также для Anchor с TypeScript-тестами нужны Node.js и Yarn; в официальной документации сказано, что они обязательны для инициализации проекта и шаблонов `mocha`/`jest`, но не всегда нужны в повседневной работе, если вы используете Rust/LiteSVM-тесты.
## Установка по шагам
Рекомендуемый учебный путь такой:
1. Установите системные пакеты ОС и WSL на Windows, если нужно.
2. Установите Rust через `rustup`.
3. Установите Solana CLI официальным инсталлятором или из конкретного релиза.
4. Установите Anchor через AVM.
5. При необходимости установите Node.js, Yarn, Docker и `solana-verify`.
Для Solana CLI официальный способ — команда из документации Solana; в ней допускается замена `stable` на конкретный тег релиза или канал `beta/edge`.
```
Для Anchor через AVM используется схема: сначала ставится `avm`, затем `avm install `, затем `avm use `.
```
## Установка Anchor
AVM — лучший вариант, если вы хотите без боли переключаться между учебными заданиями с разными версиями. Документация Anchor прямо называет AVM рекомендованным способом.
Типовой сценарий через AVM:
```bash
cargo install --git https://github.com/coral-xyz/anchor avm --force
avm install latest
avm use latest
anchor --version
```
Если нужен конкретный релиз, вместо `latest` используйте версию, которую требует ваш курс или шаблон проекта.
Без AVM можно ставить Anchor напрямую из GitHub, но этот путь хуже для учебной среды, потому что управление несколькими версиями становится ручным.
## Проверка установки
После установки нужно проверить не только наличие бинарников, но и связность версий.
Минимальный набор проверок:
```bash
rustc --version
cargo --version
solana --version
anchor --version
solana config get
solana address
```
Если планируется работа с локальной сетью:
```bash
solana-test-validator
```
Для devnet обычно делают так: переключают кластер, создают keypair и запрашивают airdrop. Официальная документация Solana рекомендует `solana config set -ud`, `solana-keygen new`, `solana airdrop 2`, затем `solana balance`.
Если `anchor build` проходит, а `anchor test` запускается без ошибок, это уже хороший признак, что окружение готово к разработке. В официальной документации Anchor также описано, что `anchor build` собирает программу, а `anchor test` умеет сам поднимать localnet, деплоить и выполнять тесты.
## Как понять, что всё готово
Окружение можно считать готовым, если выполняются условия: `solana --version` и `anchor --version` показывают ожидаемые версии, `solana config get` отображает корректный RPC URL и путь к keypair, `solana balance` показывает валидный баланс для devnet или localnet, а `anchor build` и `anchor test` завершаются успешно.
Следует закрепить именно такую “контрольную точку”: один раз установить фиксированную пару версий Anchor/Solana, затем создать новый проект через `anchor init`, собрать его и прогнать тесты. Это убирает 80% типичных проблем с несовместимостью.
## Описание и постановка задачи
- Более подробное описание шагов для настройки рабочего окружения находится в документе [INSTALL.md](./docs/INSTALL.md)
- Руководство по тестированию проекта - [HOWTOTEST.md](./docs/HOWTOTEST.md)
- Постановка задачи - [TODO.md](./docs/TODO.md)