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 [email protected]:turbo-eth/turbo-eth.git
The pnpm
package manager is required for node module management.
Please reference the pnpm
documentation for installation instructions.
pnpm install
Packages use direnv to manage environment variables. You'll likely need to install it.
cp .envrc.example .envrc
Build 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 lab
The 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)