This repository uses the recommended structure for a Soroban project:
.
├── contracts
│ └── hello_world
│ ├── src
│ │ ├── lib.rs
│ │ └── test.rs
│ └── Cargo.toml
├── Cargo.toml
└── README.md
- New Soroban contracts can be put in
contracts
, each in their own directory. There is already ahello_world
contract in there to get you started. - If you initialized this project with any other example contracts via
--with-example
, those contracts will be in thecontracts
directory as well. - Contracts should have their own
Cargo.toml
files that rely on the top-levelCargo.toml
workspace for their dependencies. - Frontend libraries can be added to the top-level directory as well. If you initialized this project with a frontend template via
--frontend-template
you will have those files already included.
Under active development.
Goals:
- For all contracts in
contracts/*
, automatically deploy to testnet, generate bindings, and import insrc/contracts/*
. - Make it just as easy to rely on 3rd-party, already-deployed contracts
- Support multiple contract environments
- development/local ("standalone")
- testing/local
- staging/testnet
- production/mainnet
cp .env.example .env
npm install
npm run dev