This project has been initialized using stellar contract init
, so its almost the same as the official Soroban boilerplate. I've added some things like a configuration to the rust formatter rustfmt.toml
where you can customize the formatting of the code and the linting rules, and also added a github workflow for checking code on pull request.
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.