On-chain e-commerce platform for PRJ3223 Capstone Project 2, Turbin3 Builders Cohort and School of Solana.
- Manage store listings
- Track and fulfill orders
- Leave product reviews
- @coral-xyz/anchor
- @solana/web3.js
- @solana/spl-token
- litesvm
- anchor-litesvm
- @dialectlabs/blockchain-sdk-solana
- @dialectlabs/react-sdk-blockchain-solana
- @dialectlabs/react-ui
- @dialectlabs/sdk
- @helium/tuktuk-idls
- @helium/tuktuk-sdk
- @solana/wallet-adapter-react
- @jup-ag/wallet-adapter
- @solana-developers/helpers
- @irys/web-upload
- @pythnetwork/hermes-client
- next
- shadcn/ui
- zod
- swr
- Update your Solana CLI, avm and Bun toolkit to the latest version
agave-install init 2.1.0
avm use 0.31.1
bun upgrade
- Clone repository
git clone https://github.com/ChiefWoods/splurge.git
- Configure to use localnet
solana config set -ul
- In another terminal, start a local validator
solana-test-validator
- Create and fund keypair
solana-keygen new -o splurge-wallet.json
solana airdrop 10 -k splurge-wallet.json
- Install dependencies
bun i
- Configure
.env
files
cp .env.example .env
- Resync your program id
anchor keys sync
- Build program
anchor build
# Alternative build for running tests
# bun run build:test
- Run tests
bun test
- Deploy program
anchor deploy
- Optionally initialize IDL
anchor idl init -f target/idl/splurge.json <PROGRAM_ID>
IDL files in /app
may need to be updated on every program build.
bun run idl:sync
Initialize program accounts. Depending on the cluster used, you may be required to initialize your own stablecoin mints.
- Configure
.env
files
cp .env.example .env
- Run scripts
bun run scripts/instructions/initializeConfig.ts
When an order is updated to Shipping
status, it is scheduled as a task and will automatically be picked up by Tuktuk crank turners after 1 minute. This eliminates the need for manual order completion.
A public crank turner is relied on to run tasks, but you may optionally set up your own crank turner to ensure tasks don't go stale before being picked up.
bun run tuktuk
View the open issues for a full list of proposed features and known bugs.