cargo install --locked stellar-cli
rustup target add wasm32v1-none
stellar keys generate trustcart-deployer --network testnet --fundstellar contract build
# → target/wasm32v1-none/release/marketplace_escrow.wasmThe WASM must target wasm32v1-none. The plain cargo build --target wasm32-unknown-unknown output enables reference-types the network rejects — use
stellar contract build (or the make contract-build target).
stellar contract deploy \
--wasm target/wasm32v1-none/release/marketplace_escrow.wasm \
--source trustcart-deployer --network testnet --alias marketplace_escrow
# → prints the contract id (C...)The current testnet deployment is
CDRJORPUFXD54OEE4ZIMYN7WPXZCRVYPO7F5UCRT4SNSKMT5PPIBGK36.
make bindings CONTRACT_ID=<new-id> NETWORK=testnet
pnpm build:clientSet the contract id in the web app:
# web/.env.local
NEXT_PUBLIC_CONTRACT_ID=<new-id>
NEXT_PUBLIC_RPC_URL=https://soroban-testnet.stellar.org
NEXT_PUBLIC_TOKEN=<reward-token-sac>
stellar contract invoke --id <new-id> --source trustcart-deployer \
--network testnet -- listing_count # expect 0 on a fresh deployRepeat with --network mainnet and a funded mainnet identity. Audit the
contract and pin the reward token list before mainnet use.