Skip to content

feat: configure soroban-cli for local development (#159)#180

Merged
ayshadogo merged 1 commit into
Dfunder:mainfrom
snowrugar-beep:feat/issue-159-soroban-cli-local-dev
May 28, 2026
Merged

feat: configure soroban-cli for local development (#159)#180
ayshadogo merged 1 commit into
Dfunder:mainfrom
snowrugar-beep:feat/issue-159-soroban-cli-local-dev

Conversation

@snowrugar-beep
Copy link
Copy Markdown
Contributor

Summary

Closes #159

Sets up soroban-cli tooling and Makefile shortcuts so contributors can build, test, and deploy contracts locally with a single command.

Changes

Makefile

  • make setup — installs stellar-cli via cargo and adds the wasm32-unknown-unknown target
  • make sandbox-start — spins up a local Stellar sandbox via Docker (Quickstart image)
  • make deploy-sandbox — builds WASM then deploys to the local sandbox
  • make deploy-testnet — builds WASM then deploys to Stellar testnet
  • All existing targets (build, test, fmt, lint, clean) preserved

scripts/deploy.sh

  • Shared deploy script invoked by both deploy-sandbox and deploy-testnet
  • Loads credentials from .env automatically
  • Supports testnet, sandbox, and mainnet networks
  • Idempotent: skips re-deploy if deployments/<network>.json already exists
  • Saves deployment record to deployments/<network>.json (see Set up Soroban testnet deployment pipeline #160)

deployments/.gitkeep

  • Tracks the deployments/ directory in git without committing JSON records

.gitignore

  • Excludes deployments/*.json and .stellaraid_contract_id (network-specific artifacts)

Acceptance Criteria

Criterion Status
soroban-cli installable via make setup
Local sandbox configured via make sandbox-start
make build compiles all contracts ✅ (existing, unchanged)
make deploy-sandbox deploys to local sandbox
make deploy-testnet deploys to Stellar testnet

Testing

# Install tooling
make setup

# Build contracts
make build

# Start local sandbox (requires Docker)
make sandbox-start

# Deploy locally
make deploy-sandbox

# Deploy to testnet (requires funded key in .env)
make deploy-testnet

- Add Makefile targets: setup, deploy-testnet, deploy-sandbox, sandbox-start
- Add scripts/deploy.sh supporting testnet/sandbox/mainnet networks
- Add deployments/ directory (tracked via .gitkeep)
- Update .gitignore to exclude deployment JSON files and .stellaraid_contract_id

Acceptance criteria met:
- soroban-cli installed via 'make setup'
- Local sandbox configured via 'make sandbox-start'
- 'make build' compiles all contracts (wasm32-unknown-unknown)
- 'make deploy-sandbox' deploys to local sandbox
- 'make deploy-testnet' deploys to Stellar testnet

Closes Dfunder#159
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 27, 2026

@snowrugar-beep Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Copy link
Copy Markdown
Contributor

@ayshadogo ayshadogo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

nice contribution

@ayshadogo ayshadogo merged commit 02619e1 into Dfunder:main May 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Configure soroban-cli for local development

2 participants