Інструменти
Написання та збірка програм на sBPF Assembly традиційно вимагали повного набору інструментів Solana, який може бути складним для налаштування та залежним від платформи. Саме з цієї причини Dean, за участі Claire, створив sBPF: повний набір інструментів для створення та збірки програм на sBPF Assembly.
Installation
Ми починаємо з встановлення пакета, виконавши:
cargo install --git https://github.com/blueshift-gg/sbpf.git
Після цього ми зможемо виконувати всі наступні команди:
init
: Створити каркас нового проєкту.build
: Скомпілювати у виконуваний файл програми Solana.deploy
: Зібрати та розгорнути програму.test
: Протестувати розгорнуту програму.e2e
: Зібрати, розгорнути та протестувати програму.clean
: Очистити артефакти збірки та розгортання.help
: Вивести це повідомлення або довідку для вказаних підкоманд.
Usage: sbpf <COMMAND>
Commands:
init Create a new project scaffold
build Compile into a Solana program executable
deploy Build and deploy the program
test Test deployed program
e2e Build, deploy and test a program
clean Clean up build and deploy artifacts
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
Initialize a new project
Щоб створити новий проєкт, використовуйте команду sbpf init
. За замовчуванням вона ініціалізує проєкт з тестами на Rust, використовуючи Mollusk. Ви також можете ініціалізувати проєкт з тестами на TypeScript, використовуючи опцію --ts-tests
.
sbpf init --help
Create a new project scaffold
Usage: sbpf init [OPTIONS] [NAME]
Arguments:
[NAME] The name of the project to create
Options:
-t, --ts-tests Initialize with TypeScript tests instead of Mollusk Rust tests
-h, --help Print help information
-V, --version Print version information
Після ініціалізації проєкту ви можете перейти до директорії проєкту та використовувати інші команди для збірки, розгортання та тестування вашої програми.
Building Programs
sBPF надає два варіанти збірки залежно від вашого налаштування та потреб:
Збірка sBPF
Команда збірки використовує автономний асемблер, який не потребує додаткових залежностей. Це ідеальний варіант для навчання та експериментів, оскільки він "просто працює" на будь-якій платформі.
sbpf build
Розширене використання
Ви можете замінити компонувальник за замовчуванням власним файлом компонувальника, включивши його в каталог src з тим самим ім'ям, що й ваша програма. Наприклад:
src/example/example.s
src/example/example.ld
Середовище розробки
Для найкращого досвіду розробки рекомендуємо встановити розширення VS Code для sBPF Assembly, яке забезпечує:
- Підсвічування синтаксису для sBPF асемблера
- Автодоповнення коду для інструкцій та регістрів
- Виявлення помилок та попередження