This is a fullstack Solana project in Rust:
A raw on-chain smart contract (solana-raw) and its CLI client (solana-vault-client), combined via Git submodules.
solana-fullstack-rust/
βββ client/ # CLI client repo (submodule)
β βββ src/main.rs # Interacts with the deployed program
βββ on-chain/ # On-chain Solana program (submodule)
β βββ program/ # Rust-based Solana smart contract
βββ .gitmodules # Git submodule tracking
βββ README.md
solana-rawβ On-chain programsolana-vault-clientβ CLI for sending transactions
git clone --recurse-submodules https://github.com/Webrowse/solana-fullstack-rust.git
cd solana-fullstack-rustIf already cloned without submodules:
git submodule update --init --recursivecd on-chain/program
cargo build-bpfsolana config set --url devnet
solana program deploy <path_to_solana_raw.so>Note the program ID from this output.
In client/src/main.rs, update:
let program_id = Pubkey::from_str("YourProgramIDHere").unwrap();Or load from a .json file if structured that way.
cd client
cargo run- Rust + Cargo
- Solana CLI
- Git 2.11+ (for submodules)
- BPF SDK (for on-chain build)
MIT