This repository provides a template for a Solana application with a full Rust stack. The repository includes
✅ Rust Smart Contract (Anchor)
✅ Rust Frontend (Dioxus)
✅ Rust Unit Tests
A dummy keypair is provided. Presently, the frontend only supports Phantom, but similar adapters can be built for other wallets. This repository takes inspiration from this repository.
There are many benefits to having Rust across the stack. The main benefit is having faster feedback/errors due to Rust's type system between frontend and backend code.
To run the unit tests, use anchor test
.
To display the frontend, first spin up an anchor localnet
and then run trunk serve
.
If you do not have trunk
, install via cargo install trunk
.
This requires the wasm32 target, obtainable via rustup target install wasm32-unknown-unknown
if you do not yet have it.
The use of localnet is hardcoded into the template; be sure to switch your wallet to localnet to avoid issues regarding recent blockhashes.
Visit the Dioxus, Trunk, and Anchor docs/repositories to learn more.