Barebones web3 monorepo. The philosophy behind this template is to include best practices such as strong test and development setup with the minimal amount of features. This means less mucking through random code, deleting and cleaning it up and faster building 💪
- Solidity dev environment with
hardhat
andhardhat-deploy
- Rust server using
actix
andethers-rs
- React frontend with
wagmi
- Subgraph
All dependencies are managed by yarn except for the server which is in rust and uses cargo
All the services are orchestrated using a docker compose so they can be brought up together or separately. The app
profile brings up the entire stack.
subgraph
protocol
interface
server
docker-compose --profile app up
Dev dependencies for linting the project and keeping things in order need to be installed separately on the local machine.
Basic Create React App with integrations for interacting with smart contracts and subgraph
- Subgraph integration
- Web3 integration
- Unit tests
- Integration/ e2e tests
Basic smart contract setup
- Basic Contract
- Unit tests
- Deploy script
- Docgen
- Integration tests
This subgraph is setup to index the current protocol contract events.
- Basic Subgraph
- Unit tests
- Integration tests
At the time of publishing this is all the Rust code I've written. Its a strech goal to build the server in rust.
- Basic Endpoints
- Unit tests
- ethers-rs (in progress)
- Linting
- Tests w/ PR coverage
- Slyther for smart contracts
- Semantic versioning
- Commit / PR linting
- Make file for managing build process