/soroban.boilerplate

Stellar and soroban smart contract boilerplate

Primary LanguageTypeScript

Soroban Boilerplate

What has been added to this boilerplate?

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.

Project Structure

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 a hello_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 the contracts directory as well.

  • Contracts should have their own Cargo.toml files that rely on the top-level Cargo.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.