{"id":13712705,"url":"https://github.com/emretepedev/solidity-hardhat-typescript-boilerplate","last_synced_at":"2025-07-24T19:31:00.956Z","repository":{"id":40518705,"uuid":"476687648","full_name":"emretepedev/solidity-hardhat-typescript-boilerplate","owner":"emretepedev","description":"Solidity Hardhat Typescript Boilerplate","archived":false,"fork":false,"pushed_at":"2023-10-09T12:57:55.000Z","size":1489,"stargazers_count":28,"open_issues_count":2,"forks_count":10,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-13T23:32:26.656Z","etag":null,"topics":["blockchain","boilerplate","ethers","hardhat","solidity","template","typechain","typescript","waffle","web3"],"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/emretepedev.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-01T11:11:27.000Z","updated_at":"2024-05-03T18:04:26.000Z","dependencies_parsed_at":"2024-11-13T23:30:46.406Z","dependency_job_id":"ad971727-3b0e-4f61-8926-49bdb5f2fdc6","html_url":"https://github.com/emretepedev/solidity-hardhat-typescript-boilerplate","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/emretepedev%2Fsolidity-hardhat-typescript-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emretepedev%2Fsolidity-hardhat-typescript-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emretepedev%2Fsolidity-hardhat-typescript-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emretepedev%2Fsolidity-hardhat-typescript-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emretepedev","download_url":"https://codeload.github.com/emretepedev/solidity-hardhat-typescript-boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227470079,"owners_count":17778930,"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":["blockchain","boilerplate","ethers","hardhat","solidity","template","typechain","typescript","waffle","web3"],"created_at":"2024-08-02T23:01:21.658Z","updated_at":"2025-07-24T19:31:00.943Z","avatar_url":"https://github.com/emretepedev.png","language":"TypeScript","funding_links":[],"categories":["Project Starter"],"sub_categories":[],"readme":"# Prerequisites\n\n- [Docker](https://github.com/docker)\n\n```shell\nyarn install\n```\n\n```shell\n# install slither, mythril, solc, and other tools in the docker image\nyarn run setup-analyzers\n```\n\nDon't forget to copy the `.env.example` file to `.env`, then edit it to provide the required details.\n\n# Analyzers\n\nBefore using the analyzers, make sure to complete the **Prerequisites** step.\n\n- [Slither](https://github.com/crytic/slither)\n- [Mythril](https://github.com/Consensys/mythril)\n\n```shell\nyarn run slither path/to/contract\nyarn run mythril path/to/contract\n```\n\n# Lint \u0026 Format\n\n- [Solhint](https://github.com/protofire/solhint)\n- [ESLint](https://github.com/eslint/eslint)\n- [Prettier](https://github.com/prettier/prettier)\n\n```shell\nyarn run lint\nyarn run lint:fix\n```\n\n# Tests\n\n```shell\nyarn hardhat test\n```\n\n```shell\n# run tests and generate coverage report\nyarn run coverage\n```\n\n# Documentation\n\n```shell\n# generate docs according to the contracts/ folder\nyarn hardhat docgen\n```\n\n# Local Network \u0026 Blockscout Explorer\n\n```shell\n# start a local network at http://localhost:8545\nyarn hardhat node\n```\n\n```shell\n# start the blockscout explorer at http://localhost:80 for the local network\nyarn run blockscout:start\n```\n\n```shell\nyarn run blockscout:stop\n```\n\n```shell\nyarn run blockscout:reset\n```\n\n```shell\n# use this after restarting your node\nyarn run blockscout:refresh\n```\n\n```shell\n# deploy the contract to the local network\nyarn run node:run scripts/deploy.ts\n```\n\n```shell\n# verify the contract on the local network\nyarn run node:verify --constructor-args ignition/modules/FooTokenArgs.ts \u003cFOO_TOKEN_CONTRACT_ADDRESS\u003e\n```\n\n```shell\n# analyze the on-chain contract on the local network\nyarn mythril --address \u003cFOO_TOKEN_CONTRACT_ADDRESS\u003e --rpc host.docker.internal:8545\n```\n\n# Deploy Contract \u0026 Verification\n\nTo verify a contract, you first need to deploy it to a network.\n\nIn this project, copy the .env.example file to .env, then edit it to provide the required details:\n\n- Enter the API key you obtained from an explorer (e.g., Etherscan) in the corresponding variable. (e.g., ETHERSCAN_API_KEY)\n- Provide the RPC URL of the network you want to deploy to. (e.g., MAINNET_RPC_URL)\n- Specify the private key of the account that will send the deployment transaction (DEPLOYER_WALLET_PRIVATE_KEY).\n\nWith a properly configured .env file, deploy your contract by running:\n\n```shell\nyarn hardhat run --network \u003cYOUR_NETWORK\u003e scripts/deploy.ts\n```\n\nYou can also manually add the contract(s) to your Tenderly project using the output URL:\n`https://dashboard.tenderly.co/contract/\u003cNETWORK_NAME\u003e/\u003cCONTRACT_ADDRESS\u003e`\n\nFinally, verify the contract:\n\n```shell\nyarn hardhat verify --network \u003cYOUR_NETWORK\u003e \u003cYOUR_CONTRACT_ADDRESS\u003e \"\u003cCONSTRUCTOR_ARGUMENT(S)\u003e\"\n```\n\n# Miscellaneous\n\n```shell\n# find outputs of specific contract and write to file\nyarn hardhat finder --contract-path contracts/FooToken.sol --contract-name FooToken --write-to-file abi bytecode metadata --colorify --compact --prettify\n```\n\n```shell\n# create lock file of storage layout for your contracts\nyarn hardhat storage-lock\n```\n\n```shell\n# check by comparing with existing lock file of storage layout\nyarn hardhat storage-check\n```\n\n```shell\n# generate a flattened version of the contract\nyarn run flatten path/to/contract\n```\n\n```shell\n# share the project with remix-ide\nyarn run share\n```\n\n# TODO\n\nContributions to this project are welcome! You can help by adding new features or fixing bugs. Here are some suggestions:\n\n- Enhance diversity in the Workshop Contract\n- Add tests for the Workshop Contract\n- Include examples of Upgradeable Contracts\n- Integrate OpenZeppelin Defender\n- Integrate Tenderly\n- Add the \"Plugins\" section\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femretepedev%2Fsolidity-hardhat-typescript-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femretepedev%2Fsolidity-hardhat-typescript-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femretepedev%2Fsolidity-hardhat-typescript-boilerplate/lists"}