Tooling
Menulis dan membangun program sBPF Assembly secara tradisional memerlukan toolchain Solana lengkap, yang bisa rumit untuk diatur dan bergantung pada platform. Untuk alasan inilah, Dean, dengan kontribusi dari Claire, menciptakan sBPF: toolkit lengkap untuk membuat dan membangun program sBPF Assembly.
Installation
Kita mulai dengan menginstal paket dengan cara:
cargo install --git https://github.com/blueshift-gg/sbpf.git
Setelah itu kita akan dapat melakukan semua perintah berikut:
init
: Membuat kerangka proyek baru.build
: Mengompilasi menjadi executable program Solana.deploy
: Membangun dan men-deploy program.test
: Menguji program yang telah di-deploy.e2e
: Membangun, men-deploy, dan menguji program.clean
: Membersihkan artefak build dan deploy.help
: Menampilkan pesan ini atau bantuan dari subperintah yang diberikan.
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
Untuk membuat proyek baru, gunakan perintah sbpf init
. Secara default, ini akan menginisialisasi proyek dengan tes Rust menggunakan Mollusk. Anda juga dapat menginisialisasi proyek dengan tes TypeScript menggunakan opsi --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
Setelah menginisialisasi proyek, Anda dapat menavigasi ke direktori proyek dan menggunakan perintah lain untuk membangun, men-deploy, dan menguji program Anda.
Building Programs
sBPF menyediakan dua opsi build tergantung pada pengaturan dan kebutuhan Anda:
sBPF Build
Perintah build menggunakan assembler mandiri yang tidak memerlukan dependensi tambahan. Ini sempurna untuk pembelajaran dan eksperimen karena "langsung berfungsi" di platform manapun.
sbpf build
Penggunaan Lanjutan
Anda dapat mengganti linker default dengan file linker kustom dengan menyertakannya di direktori src dengan nama yang sama dengan program Anda. Contohnya:
src/example/example.s
src/example/example.ld
Lingkungan Pengembangan
Untuk pengalaman pengembangan terbaik, pertimbangkan untuk menginstal VS Code sBPF Assembly extension yang menyediakan:
- Penyorotan sintaks untuk sBPF assembly
- Penyelesaian kode untuk instruksi dan register
- Deteksi kesalahan dan peringatan