{"id":19939192,"url":"https://github.com/zapnap/hardhat-vue-template","last_synced_at":"2026-04-09T18:07:36.850Z","repository":{"id":44753386,"uuid":"435328155","full_name":"zapnap/hardhat-vue-template","owner":"zapnap","description":"Vue + Ethereum app template for building robust web3 applications.","archived":false,"fork":false,"pushed_at":"2022-02-15T22:55:16.000Z","size":692,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-12T04:15:47.123Z","etag":null,"topics":["dapps","ethereum","solidity","template","vuejs","web3"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zapnap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-06T01:51:08.000Z","updated_at":"2024-01-16T21:04:34.000Z","dependencies_parsed_at":"2022-09-14T11:11:02.069Z","dependency_job_id":null,"html_url":"https://github.com/zapnap/hardhat-vue-template","commit_stats":null,"previous_names":[],"tags_count":1,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapnap%2Fhardhat-vue-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapnap%2Fhardhat-vue-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapnap%2Fhardhat-vue-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapnap%2Fhardhat-vue-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zapnap","download_url":"https://codeload.github.com/zapnap/hardhat-vue-template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241367896,"owners_count":19951445,"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":["dapps","ethereum","solidity","template","vuejs","web3"],"created_at":"2024-11-12T23:45:23.801Z","updated_at":"2025-12-31T01:07:30.268Z","avatar_url":"https://github.com/zapnap.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hardhat Vue Template\n\nThis project is intended as a template for kickstarting non-trivial Vue + Ethereum projects, leveraging TypeScript and integrating several tools that are found in common projects and required for building sustainable dApps.\n\nIt includes the following tools in an easy-to-navigate monorepo:\n\n* [Hardhat](https://hardhat.org/)\n* [Vue 2.x](https://vuejs.org/) (vue-cli)\n  * [Vuex](https://vuex.vuejs.org/)\n  * [Vue Router](https://router.vuejs.org/)\n  * [Vue Toasted](https://shakee93.github.io/vue-toasted/)\n  * [Bootstrap](https://getbootstrap.com/)\n  * [Ethers.js](https://docs.ethers.io/v5/)\n  * [Web3Modal](https://github.com/Web3Modal/web3modal)\n\nBoilerplate unit testing is also included. On the Solidity side we use [Waffle](https://getwaffle.io/), and for the Vue frontend app, we're using [Jest](https://jestjs.io/) alongside some useful test helpers tha make mocking contract interaction less painful.\n\nThe project comes stock with a sample contract (the Greeter contract generated by Hardhat), and a simple web interface that handles connecting the user's wallet (MetaMask or other injected providers via Web3Modal) and reading and writing to that contract.\n\n## Up and Running\n\nCopy the example env file to `.env` and modify it to suit your enviornment. Then compile and deploy the simple Greet contract:\n\n```shell\nnpm install\nnpx hardhat compile\nnpx hardhat node\nnpx hardhat run --network localhost scripts/deploy.ts\n```\n\nThe above commands deploy the contract to Hardhat's own local testnet (hardhat node). You'll want to configure your MetaMask wallet to use the localhost (8545) network and import one of the accounts auto-generated by Hardhat (keys can be found by using `npx hardhat accounts`).\n\nThe deploy process also takes care of updating `addresses.json` and the Contract ABI that are required in the Vue app.\n\nOnce you've done this, you can start the web app by switching to the `frontend` directory where the app is nested:\n\n```shell\ncd frontend\nnpm install\nnpm run serve\n```\n\nNow you should be able to navigate to `http://localhost:8080`, connect your wallet, and interact with the application.\n\nReady to deploy to testnet? It's pretty straightforward to deploy the sample contract and web app using [Infura](https://infura.io/) and [Vercel](https://vercel.com/).\n\n## Credits\n\nThis project was inspired in part by Gildor's [Hardhat Vue Starter](https://github.com/remote-gildor/hardhat-vue-starter) project but contains some key differences imported from my own projects and inspired by others.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzapnap%2Fhardhat-vue-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzapnap%2Fhardhat-vue-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzapnap%2Fhardhat-vue-template/lists"}