Git Product home page Git Product logo

banditclub's Introduction

web3 scaffold

Quickly get up and running on web3

This scaffold is set up as a monorepo using the incredibly fast pnpm, with packages for each part of the project. All of these packages use a common Typescript foundation with linting and autoformatting and is best used with VSCode. It assumes you'll be deploying to an EVM-compatible blockchain.

Packages

app

This is the frontend of your project. It's built on Next.js using Tailwind CSS. Data is read from the smart contract via a subgraph (below) using urql and autogenerated Typescript definitions with GraphQL Code Generator.

contracts

This is where your smart contracts live. They're written in Solidity using Foundry (forge & cast) to compile, test, and deploy. Types are generated with 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 and deployed to The Graph.

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

banditclub's People

Contributors

albertsu123 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.