curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source ~/.cargo/env
rustc --version
curl -sSfL https://release.anza.xyz/edge/install | sh
export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
solana --version
solana-cli 3.0.0 (src:21f770aa; feat:2900245688, client:Agave)
cargo init --lib hello cd hello
cargo add solana-program
edition2024
Cargo.toml
cargo-features = ["edition2024"] [package] name = "hello" version = "0.1.0" edition = "2024" [dependencies] solana-program = "2.3.0" [lib] crate-type = ["cdylib", "lib"]
src/lib.rs
use solana_program::{ account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, pubkey::Pubkey, msg, }; entrypoint!(process_instruction); fn process_instruction( _program_id: &Pubkey, _accounts: &[AccountInfo], _instruction_data: &[u8], ) -> ProgramResult { msg!("Hello, Solayer!"); Ok(()) }
cd ..
solana-keygen new -o program-keypair.json --no-bip39-passphrase
solana-keygen new -o wallet-keypair.json --no-bip39-passphrase
solana address -k program-keypair.json
solana config set --url https://devnet-rpc.solayer.org
solana config set -k ./wallet-keypair.json
solana config get
https://devnet-rpc.solayer.org
./wallet-keypair.json
solana balance
solana airdrop 1
cd hello
rm -rf target/ Cargo.lock
cargo build-sbf --sbf-out-dir=../dist
ls -la dist/
hello.so
solana program deploy \ --use-rpc \ --program-id ./program-keypair.json \ --upgrade-authority ./wallet-keypair.json \ ./dist/hello.so
Program Id: <YOUR_PROGRAM_ID>
solana program show <YOUR_PROGRAM_ID> --url https://devnet-rpc.solayer.org
Was this page helpful?