Code Monkey home page Code Monkey logo

build-onchain-apps's Introduction

Build onchain applications with the best consumer experience in a few minutes. โ˜•๏ธ

Current version NPM Downloads GitHub contributors GitHub Stars GitHub


Build Onchain Apps takes an opinionated approach to streamlining and automating early decisions you must make in building your consumer product.

The onchain app generated by the CLI aims to be a companion that walks alongside you over the first few months of building.

So, if you are either a hackathon participant and/or an ambitious entrepreneur aiming to establish the next successful company, this is built with you in mind. ๐Ÿ’™


Out of the box ๐Ÿงฐ ๐Ÿง™ โœจ

  • Web2 building blocks: Next.js + Tailwind CSS + Radix UI ๐ŸŸก
  • Onchain building blocks: Base + RainbowKit + wagmi + Viem ๐Ÿ”ต
  • Onchain UI components: AccountConnectButton ๐ŸŽจ
  • Support EOA Wallet integration ๐Ÿ‘›
  • Linting and Prettier ๐Ÿ’…
  • Tests Suite
  • Support Progressive Web Apps โšก๏ธ
  • Foundry integration
  • Client Analytics (Coming Soon)
  • Web Vitals optimization (Coming Soon)
  • In-depth step by step documentation (Coming Soon)
  • One click deploy on Vercel
  • Onchain UI components: Balances, Minting, Airdrop, etc...
  • We just started; stay tuned for more to come!!! โ˜•๏ธ

Getting Started

Step 1: Kick off your onchain app

npx @coinbase/build-onchain-apps@latest create

Build Onchain Apps

Step 1.1: Obtain Wallet Connect Project ID from walletconnect.com and assign to the .env file

NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=ADD_WALLET_CONNECT_PROJECT_ID_HERE

Step 1.2: Install and Run your onchain app

# Install dependencies
yarn

# Run onchain app
yarn dev

Build Onchain Apps

Step 2: Kick start your contracts

# Initialize git
git init

# Install Foundry

curl -L https://foundry.paradigm.xyz | bash
foundryup

Step 2.1: Build, test and format the sample contracts

cd contracts

# Install openzeppelin
forge install
forge install openzeppelin/openzeppelin-contracts --no-commit
forge remappings > remappings.txt

# Build
forge build

# Test
forge test

# Format
forge fmt

Step 2.3: Deploy contracts to Base goerli

Create a .env file using the .env.example file provided in your contracts folder and add your private key.

source .env

forge script script/BuyMeACoffee.s.sol:BuyMeACoffeeScript --broadcast --verify --rpc-url ${RPC_URL} --etherscan-api-key ${BLOCK_EXPLORER_API_KEY}

Congrats โœจ, Time to enjoy your onchain app with some coffee โ˜•๏ธ


For a Live demo use


Contributing โ˜•๏ธ ๐Ÿ”ต

The main purpose of this repository is to continue evolving Build Onchain Apps, making it better and easier to use. Development of Build Onchain Apps happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving Build Onchain Apps.

Build Onchain Apps has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Build Onchain Apps.

Develop

To build and test either the CLI or the main App, start by cloning the repo.

# Clone the repo
git clone https://github.com/coinbase/build-onchain-apps.git

Develop the App

# Go to main application
cd apps/build-onchain-apps

# Install and run latest template
yarn
yarn dev

Develop the CLI

# From the root repo
# Install and build latest dependencies
yarn
yarn build

# Link the local package to the global npm registry
npm link

# Test CLI using the local package
build-onchain-apps create

# After testing, unlink the package from the global npm registry
npm unlink @coinbase/build-onchain-apps
npm uninstall -g @coinbase/build-onchain-apps

Community โ˜๏ธ ๐ŸŒ โ˜๏ธ

Building Onchain Applications is all about community, whether you are ready for a hackathon or building your next company; for any questions, feel free to:

  1. open an issue and ask a question here on GitHub;
  2. reach out to the maintainers on Twitter: @zizzamia, @alvaroraminelli, codyrnova, snoopies_eth
  3. let us know what project you build with this library.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

build-onchain-apps's People

Contributors

zizzamia avatar github-actions[bot] avatar alvaroraminelli avatar sneh1999 avatar codynova avatar alvaroraminelli-cb avatar wespickett avatar renanmav avatar cnasc avatar surajama avatar lixuejiang 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.