Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/holic/web3-scaffold
Quickly get up and running on web3
https://github.com/holic/web3-scaffold
Last synced: 2 months ago
JSON representation
Quickly get up and running on web3
- Host: GitHub
- URL: https://github.com/holic/web3-scaffold
- Owner: holic
- Archived: true
- Created: 2022-01-22T05:37:04.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-29T21:27:46.000Z (almost 2 years ago)
- Last Synced: 2024-08-03T13:03:26.968Z (6 months ago)
- Language: TypeScript
- Size: 2.61 MB
- Stars: 147
- Watchers: 7
- Forks: 18
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-web3-tools-and-dapps - Web3 Scaffold - Web3 Scaffold is a complete framework for deploying applications to EVM networks. (dApps directory / Development Frameworks)
README
# web3 scaffold
_Quickly get up and running on web3_
This scaffold is set up as a monorepo using the incredibly fast [pnpm](https://pnpm.io/), with packages for each part of the project. All of these packages use a common [Typescript](https://www.typescriptlang.org/) foundation with [linting](https://eslint.org/) and [autoformatting](https://prettier.io/) and is best used with [VSCode](https://code.visualstudio.com/). It assumes you'll be deploying to an [EVM-compatible blockchain](https://chainlist.org/).
## Packages
### app
This is the frontend of your project. It's built on [Next.js](https://nextjs.org/) using [Tailwind CSS](https://tailwindcss.com/). Data is read from the smart contract via a subgraph (below) using [urql](https://formidable.com/open-source/urql/) and autogenerated Typescript definitions with [GraphQL Code Generator](https://www.graphql-code-generator.com/).
### contracts
This is where your smart contracts live. They're written in [Solidity](https://docs.soliditylang.org/) using [Foundry (forge & cast)](https://book.getfoundry.sh/) to compile, test, and deploy. Types are generated with [TypeChain](https://github.com/dethcrypto/TypeChain).
### subgraph
This is the read-only backend for your project and where you can offload a lot of the heavy lifting that would traditionally be done through an eth RPC node. It's written in [AssemblyScript](https://www.assemblyscript.org/) and deployed to [The Graph](https://thegraph.com/).
## Deploying
### Vercel
Vercel supports monorepos and pnpm out-of-the-box, but you'll need to set the "Root Directory" to `packages/app` either during the Vercel project setup or afterwards in the project settings.
## Misc install notes
If the submodules in forge are not working, you can remove the directories and reinstall directly with forge:
```
$ forge install chiru-labs/ERC721A --no-commit$ forge install foundry-rs/forge-std --no-commit
$ forge install OpenZeppelin/openzeppelin-contracts --no-commit
```If you install any other submodules, remember to re-run the mappings:
```
$ forge remappings > remappings.txt
```If you need to install jq for Mac (used to in the contracts/deploy.sh script), run:
```
$ brew install jq
```