Turbo ETH is an Ethereum dApp Build System; with a suite of tools to start building production ready dApps today.
Boilerplate:
- Application (RainbowKit + Tailwind + Next)
- Smart Contract (Hardhat + Foundry)
- Zero-config TypeScript Modules: (TSDX)
The TurboETH build system uses Turborepo and pNPM; a high-performance build system and a fast, disk space efficient package manager.
- Incremental builds
- Content Aware Hashing
- Remote Caching
- Parallel execution
- Task pipelines
git clone git@github.com:turbo-eth/turbo-eth.gitThe pnpm package manager is required for node module management.
Please reference the pnpm documentation for installation instructions.
pnpm installPackages use direnv to manage environment variables. You'll likely need to install it.
cp .envrc.example .envrcBuild flows are handled via tasks pipelines: schedule, execute, and cache.
Edit the turbo.json file in the root directory to define new pieplines
Start Building
pnpm labThe fastest way to start hacking is to run the lab task pipeline: starts local blockchain, creates frontend development server and watches for packages files for changes.
Example:
{
"$schema": "https://turborepo.org/schema.json",
"baseBranch": "origin/main",
"pipeline": {
"chain": {
"dependsOn": ["^chain"],
"outputs": [""],
"inputs": ["contracts/**/*.sol"]
},
"compile": {
"dependsOn": ["^compile"],
"outputs": [""],
"inputs": ["contracts/**/*.sol"]
},
"lab": {
"dependsOn": ["^watch", "^chain", "@turbo-eth/demo-app#dev"],
"outputs": [""]
}
}
}The monorepo includes 3 primary folders
Copyright 2022 [Kames Geraghty](https://kames.me)
