Ferramentas
Escrever e compilar programas em sBPF Assembly tradicionalmente exigia a toolchain completa do Solana, que pode ser complexa de configurar e dependente da plataforma. Por esse exato motivo, Dean, com contribuição de Claire, criou o sBPF: um kit de ferramentas completo para criar e compilar programas em sBPF Assembly.
Instalação
Começamos instalando o pacote executando:
cargo install --git https://github.com/blueshift-gg/sbpf.gitDepois disso, poderemos executar todos os seguintes comandos:
init: Criar um scaffold de novo projeto.build: Compilar em um executável de programa Solana.deploy: Compilar e implantar o programa.test: Testar o programa implantado.e2e: Compilar, implantar e testar um programa.clean: Limpar artefatos de compilação e implantação.help: Exibir esta mensagem ou a ajuda do(s) subcomando(s) fornecido(s).
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 versionInicializar um novo projeto
Para criar um novo projeto, use o comando sbpf init. Por padrão, ele inicializa um projeto com testes em Rust usando o Mollusk. Você também pode inicializar um projeto com testes em TypeScript usando a opção --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 informationApós inicializar o projeto, você pode navegar até o diretório do projeto e usar outros comandos para compilar, implantar e testar seu programa.
Compilando Programas
O sBPF fornece duas opções de compilação, dependendo da sua configuração e necessidades:
Compilação sBPF
O comando de compilação usa um assembler independente que não requer dependências adicionais. É perfeito para aprendizado e experimentação, pois "simplesmente funciona" em qualquer plataforma.
sbpf buildUso Avançado
Você pode substituir o linker padrão por um arquivo de linker personalizado, incluindo-o no diretório src com o mesmo nome do seu programa. Por exemplo:
src/example/example.s
src/example/example.ldAmbiente de Desenvolvimento
Para a melhor experiência de desenvolvimento, considere instalar a extensão VS Code sBPF Assembly que fornece:
Destaque de sintaxe para assembly sBPF
Autocompletar instruções e registradores
Detecção de erros e avisos