{"id":23536384,"url":"https://github.com/developerfred/mysterybox","last_synced_at":"2025-05-14T22:33:08.177Z","repository":{"id":40259852,"uuid":"445165562","full_name":"developerfred/MysteryBox","owner":"developerfred","description":null,"archived":false,"fork":false,"pushed_at":"2023-02-04T06:04:49.000Z","size":1885,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-17T06:42:16.460Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/developerfred.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":"2022-01-06T12:41:33.000Z","updated_at":"2023-03-05T00:26:50.000Z","dependencies_parsed_at":"2023-02-18T14:16:27.291Z","dependency_job_id":null,"html_url":"https://github.com/developerfred/MysteryBox","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"PaulRBerg/hardhat-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developerfred%2FMysteryBox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developerfred%2FMysteryBox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developerfred%2FMysteryBox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developerfred%2FMysteryBox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/developerfred","download_url":"https://codeload.github.com/developerfred/MysteryBox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254239547,"owners_count":22037725,"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-12-26T02:20:06.038Z","updated_at":"2025-05-14T22:33:08.106Z","avatar_url":"https://github.com/developerfred.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Solidity Template\n\nMy favorite setup for writing Solidity smart contracts.\n\n- [Hardhat](https://github.com/nomiclabs/hardhat): compile and run the smart contracts on a local development network\n- [TypeChain](https://github.com/ethereum-ts/TypeChain): generate TypeScript types for smart contracts\n- [Ethers](https://github.com/ethers-io/ethers.js/): renowned Ethereum library and wallet implementation\n- [Waffle](https://github.com/EthWorks/Waffle): tooling for writing comprehensive smart contract tests\n- [Solhint](https://github.com/protofire/solhint): linter\n- [Solcover](https://github.com/sc-forks/solidity-coverage): code coverage\n- [Prettier Plugin Solidity](https://github.com/prettier-solidity/prettier-plugin-solidity): code formatter\n\nThis is a GitHub template, which means you can reuse it as many times as you want. You can do that by clicking the \"Use this\ntemplate\" button at the top of the page.\n\n## Usage\n\n### Pre Requisites\n\nBefore running any command, you need to create a `.env` file and set a BIP-39 compatible mnemonic as an environment\nvariable. Follow the example in `.env.example`. If you don't already have a mnemonic, use this [website](https://iancoleman.io/bip39/) to generate one.\n\nThen, proceed with installing dependencies:\n\n```sh\nyarn install\n```\n\n### Compile\n\nCompile the smart contracts with Hardhat:\n\n```sh\n$ yarn compile\n```\n\n### TypeChain\n\nCompile the smart contracts and generate TypeChain artifacts:\n\n```sh\n$ yarn typechain\n```\n\n### Lint Solidity\n\nLint the Solidity code:\n\n```sh\n$ yarn lint:sol\n```\n\n### Lint TypeScript\n\nLint the TypeScript code:\n\n```sh\n$ yarn lint:ts\n```\n\n### Test\n\nRun the Mocha tests:\n\n```sh\n$ yarn test\n```\n\n### Coverage\n\nGenerate the code coverage report:\n\n```sh\n$ yarn coverage\n```\n\n### Report Gas\n\nSee the gas usage per unit test and average gas per method call:\n\n```sh\n$ REPORT_GAS=true yarn test\n```\n\n### Clean\n\nDelete the smart contract artifacts, the coverage reports and the Hardhat cache:\n\n```sh\n$ yarn clean\n```\n\n### Deploy\n\nDeploy the contracts to Hardhat Network:\n\n```sh\n$ yarn deploy --greeting \"Bonjour, le monde!\"\n```\n\n## Syntax Highlighting\n\nIf you use VSCode, you can enjoy syntax highlighting for your Solidity code via the\n[vscode-solidity](https://github.com/juanfranblanco/vscode-solidity) extension. The recommended approach to set the\ncompiler version is to add the following fields to your VSCode user settings:\n\n```json\n{\n  \"solidity.compileUsingRemoteVersion\": \"v0.8.4+commit.c7e474f2\",\n  \"solidity.defaultCompiler\": \"remote\"\n}\n```\n\nWhere of course `v0.8.4+commit.c7e474f2` can be replaced with any other version.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveloperfred%2Fmysterybox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeveloperfred%2Fmysterybox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveloperfred%2Fmysterybox/lists"}