Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/max-tonny8/nft_marketplace

MuscleX TST 1700 As you can now see, there are numerous ways that you
https://github.com/max-tonny8/nft_marketplace

hardhat metamask-wallet nextjs smart-contracts solidity typescript

Last synced: 2 months ago
JSON representation

MuscleX TST 1700 As you can now see, there are numerous ways that you

Awesome Lists containing this project

README

        


OMG Counters


A minimal types-first boilerplate for Ethereum frontend dapp development.


typescript
typed contracts
typed contracts

# Dapp Boilerplate

Includes:

- [Next.js](https://github.com/vercel/next.js)
- [Typescript](https://github.com/microsoft/TypeScript)
- [ESLint](https://github.com/eslint/eslint)
- [Prettier](https://github.com/prettier/prettier)
- [Ethers.js](https://github.com/ethers-io/ethers.js/)
- [Typechain](https://github.com/ethereum-ts/TypeChain)

## Rationale

- **Next.js** because it does automatic code-splitting and has a very minimal API. Much more performant and minimal than Create-React-App.

- **Typescript** because you don't want to guess what type everything is.

- **ESLint** to catch dangerous patterns that can cause bugs. The official recommended Typescript linting config is also included.

- **Prettier** to enforce consistent formatting. This is setup to work with ESLint from the official Prettier documentation instructions.

- **Ethers.js** has the best abstraction for working with the Ethereum blockchain so far.

- **Typechain** so that all your contract instances have types. This means you always know what methods exist, what arguments they take, and also what the return type is.

# Getting Started

Click "Use this template" at the top of this page, or click [here](https://github.com/toptal126/ethers-typechain-next-dapp-boliderplate/generate) to create your repo and clone locally.

1. Run `yarn` to install dependencies.
2. Run `yarn typechain` to generate the types for your contracts.
3. Run `yarn dev` to begin developing.

# Adding Contracts

To add a contract and have [Typechain](https://github.com/ethereum-ts/TypeChain) generate types for it, simply drop the contract's ABI (as a JSON file) into the `contracts` directory. Types are then generated by running `yarn typechain` and output to the `contracts/types` directory.

# Contributing

Make an [issue](https://github.com/toptal126/ethers-typechain-next-dapp-boliderplate/issues) to talk about what you'd like to see!

**PRs welcome, let's build this together! Frontend devs unite!**