{"id":16597287,"url":"https://github.com/adrianmcli/dapp-boilerplate","last_synced_at":"2025-09-15T04:31:04.361Z","repository":{"id":41435622,"uuid":"325879236","full_name":"adrianmcli/dapp-boilerplate","owner":"adrianmcli","description":"⚡A minimal types-first boilerplate for Ethereum frontend dapp development.","archived":false,"fork":false,"pushed_at":"2021-03-02T04:32:50.000Z","size":116,"stargazers_count":113,"open_issues_count":1,"forks_count":17,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-12-28T11:24:57.403Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adrianmcli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-31T21:59:46.000Z","updated_at":"2024-11-25T02:19:08.000Z","dependencies_parsed_at":"2022-09-07T21:10:54.996Z","dependency_job_id":null,"html_url":"https://github.com/adrianmcli/dapp-boilerplate","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianmcli%2Fdapp-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianmcli%2Fdapp-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianmcli%2Fdapp-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianmcli%2Fdapp-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adrianmcli","download_url":"https://codeload.github.com/adrianmcli/dapp-boilerplate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233077318,"owners_count":18621511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T23:55:24.745Z","updated_at":"2025-01-08T18:21:43.193Z","avatar_url":"https://github.com/adrianmcli.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"OMG Counters\" src=\"https://i.imgur.com/XHOSEvl.png\" width=\"440\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nA minimal types-first boilerplate for Ethereum frontend dapp development.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"typescript\" src=\"https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg?style=for-the-badge\"\u003e\n    \u003cimg alt=\"typed contracts\" src=\"https://img.shields.io/badge/React-Next.js-lightgrey?style=for-the-badge\u0026logo=next.js\"\u003e\n  \u003cimg alt=\"typed contracts\" src=\"https://img.shields.io/badge/ethereum-contracts-brightgreen?style=for-the-badge\u0026logo=ethereum\"\u003e\n\u003c/p\u003e\n\n# Dapp Boilerplate\n\nIncludes:\n\n- [Next.js](https://github.com/vercel/next.js)\n- [Typescript](https://github.com/microsoft/TypeScript)\n- [ESLint](https://github.com/eslint/eslint)\n- [Prettier](https://github.com/prettier/prettier)\n- [Ethers.js](https://github.com/ethers-io/ethers.js/)\n- [Typechain](https://github.com/ethereum-ts/TypeChain)\n\n## Rationale\n\n- **Next.js** because it does automatic code-splitting and has a very minimal API. Much more performant and minimal than Create-React-App.\n\n- **Typescript** because you don't want to guess what type everything is.\n\n- **ESLint** to catch dangerous patterns that can cause bugs. The official recommended Typescript linting config is also included.\n\n- **Prettier** to enforce consistent formatting. This is setup to work with ESLint from the official Prettier documentation instructions.\n\n- **Ethers.js** has the best abstraction for working with the Ethereum blockchain so far.\n\n- **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.\n\n# Getting Started\n\nClick \"Use this template\" at the top of this page, or click [here](https://github.com/adrianmcli/dapp-boilerplate/generate) to create your repo and clone locally.\n\n1. Run `yarn` to install dependencies.\n2. Run `yarn typechain` to generate the types for your contracts.\n3. Run `yarn dev` to begin developing.\n\n# Adding Contracts\n\nTo 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.\n\n# Contributing\n\nMake an [issue](https://github.com/adrianmcli/dapp-boilerplate/issues) to talk about what you'd like to see!\n\n**PRs welcome, let's build this together! Frontend devs unite!**\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianmcli%2Fdapp-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadrianmcli%2Fdapp-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianmcli%2Fdapp-boilerplate/lists"}