Rust - это наиболее распространенный язык программирования для написания программ Solana . Это руководство для быстрого запуска продемонстрирует, как быстро установить, собрать и установить вашу программу на основе Rust Solana в блокчейне.
В этом руководстве используется Solana CLI и предполагается, что вы установили вашу среду разработки в локальном режиме. Ознакомьтесь с нашим кратким руководством по локальной разработке здесь, чтобы быстро освоиться.
Чему вы научитесь #
- как установить язык Rust локально
- как инициализировать новую программу Solana Rust
- как написать базовую программу Solana на Rust
- как создать и установить свою программу Rust
Установка Rust и Cargo #
Чтобы иметь возможность компилировать программы Solana на основе Rust, установите язык Rust и Cargo (менеджер пакетов Rust) с помощью Rustup:
Запустите валидатор на локальном хосте #
Solana CLI поставляется со встроенным валидатором тестов. Этот инструмент командной строки позволит вам запустить полный кластер блокчейна на вашей машине .
solana-test-validator
Запустите тест Solana в новом/отдельном окне терминала , которое останется открытым. Эта программа командной строки должна оставаться запущенной, чтобы ваш валидатор localhost оставался в режиме онлайн и был готов к работе.
Настройте Solana CLI на использование валидатора localhost для всех будущих команд терминала и развертывания программ Solana:
solana config set --url localhost
Создайте новую библиотеку Rust с помощью Cargo #
Программы Solana, написанные на Rust, представляют собой библиотеки, которые компилируются в байткод BPF и сохраняются в формате .so.
Инициализируйте новую библиотеку Rust с именем hello_world
через командную
строку Cargo:
Добавьте solana-program в вашу новую библиотеку Rust:
Настоятельно рекомендуется держать вашу solana-program
и другие
Solana Rust зависимостей в соответствии с установленной версией Solana
CLI. Например, если вы используете Solana CLI 1.17.17
, вы можете запускать:
Это гарантирует, что ваш ящик использует только 1.17.17
и ничего больше. Если
у вас возникли проблемы с совместимостью зависимостей Solana, загляните в Solana
Stack Exchange
Откройте файл Cargo.toml и добавьте эти необходимые параметры конфигурации библиотеки Rust, изменив при необходимости имя проекта:
Создайте свою первую программу Solana #
Код программы Solana на основе Rust будет отображаться в вашем файле
src/lib.rs
. Внутри src/lib.rs
вы сможете импортировать ваш ящик Rust и
определить логику. Откройте файл src/lib.rs
в вашем любимом редакторе.
В верхней части lib.rs
, импортируйте ящик solana-program
и принесите нам
необходимые элементы в локальное пространство имен:
use solana_program::{
account_info::AccountInfo,
entrypoint,
entrypoint::ProgramResult,
pubkey::Pubkey,
msg,
};
Каждая программа Solana должна определить entrypoint
, который рассказывает
Solana время выполнения, где начать выполнение кода onchain. Точка входа вашей
программы должна предоставлять публичную функцию с именем process_instruction:
// declare and export the program's entrypoint
entrypoint!(process_instruction);
// program entrypoint's implementation
pub fn process_instruction(
program_id: &Pubkey,
accounts: &[AccountInfo],
instruction_data: &[u8]
) -> ProgramResult {
// log a message to the blockchain
msg!("Hello, world!");
// gracefully exit the program
Ok(())
}
Каждая программа в цепи должна вернуть Ok
result enum со значением ()
. Это
говорит среде выполнения Solana, что ваша программа выполнена успешно и без
ошибок.
Приведенная выше программа просто отправит сообщение «Hello, world!» в блокчейн-кластер, а затем изящно завершит работу с помощью Ok(()).
Создайте программу Rust #
В окне терминала вы можете собрать программу Solana Rust, запустив ее в корне проекта (т.е. в директории с файлом Cargo.toml):
После каждой сборки программы Solana приведенная выше команда будет выводить
путь сборки файла .so
вашей скомпилированной программы и ключевой файл по
умолчанию который будет использоваться для адреса программы. cargo build-bpf
устанавливает набор инструментов из установленных в данный момент инструментов
solana CLI. Вам может понадобиться обновить эти инструменты, если вы
столкнетесь с несовместимостью версий.
Развертывание программы Solana #
Используя Solana CLI, вы можете развернуть свою программу на выбранном в данный момент кластере:
После того как ваша программа Solana будет развернута (и транзакция finalized), приведенная выше команда выведет публичный адрес вашей программы (он же «идентификатор программы»).
Поздравляем! #
Вы успешно настроили, собрали и развернули программу Solana на языке Rust.
Проверьте баланс вашего кошелька Solana снова после установки. Узнайте, сколько будет стоить развертывание вашей простой программы?
Следующие шаги #
По ссылкам ниже вы можете узнать больше о написании программ Solana на основе Rust:
- Обзор программ, написанных на Solana
- Узнайте больше о разработке программ Solana с Rust
- Отладка программ в цепочке