{"id":13794434,"url":"https://github.com/blacksmith-eth/blacksmith","last_synced_at":"2025-05-12T21:31:21.776Z","repository":{"id":64123387,"uuid":"542409921","full_name":"blacksmith-eth/blacksmith","owner":"blacksmith-eth","description":"🔨 An adaptive frontend for smart contract interaction","archived":false,"fork":false,"pushed_at":"2023-12-08T22:48:26.000Z","size":3703,"stargazers_count":313,"open_issues_count":3,"forks_count":28,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-11-18T09:32:45.609Z","etag":null,"topics":["anvil","ethereum","foundry","nextjs","react","solidity","viem","wagmi"],"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/blacksmith-eth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-09-28T04:42:34.000Z","updated_at":"2024-11-13T01:39:46.000Z","dependencies_parsed_at":"2023-10-04T10:54:12.022Z","dependency_job_id":"5a4eb2be-5e79-4374-b6a4-a4dd8f60ed6c","html_url":"https://github.com/blacksmith-eth/blacksmith","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blacksmith-eth%2Fblacksmith","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blacksmith-eth%2Fblacksmith/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blacksmith-eth%2Fblacksmith/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blacksmith-eth%2Fblacksmith/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blacksmith-eth","download_url":"https://codeload.github.com/blacksmith-eth/blacksmith/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253825061,"owners_count":21970122,"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":["anvil","ethereum","foundry","nextjs","react","solidity","viem","wagmi"],"created_at":"2024-08-03T23:00:40.716Z","updated_at":"2025-05-12T21:31:21.275Z","avatar_url":"https://github.com/blacksmith-eth.png","language":"TypeScript","funding_links":[],"categories":["Projects","Tools"],"sub_categories":["Dev Tools"],"readme":"# Blacksmith\n\nBlacksmith generates a simple frontend for interacting with smart contracts.\n\nThis tool is specifically intended to be used with [Foundry](https://getfoundry.sh/).\n\n## Installation\n\nClone the repo.\n\n```bash\ngit clone https://github.com/blacksmith-eth/blacksmith.git\n```\n\n## Quick Start\n\nStart the Blacksmith application.\n\n```bash\ncd blacksmith\npnpm install\npnpm dev\n```\n\nIn a second terminal window start a local testnet node.\n\n```bash\nanvil\n```\n\nIn a third terminal window create a foundry project in a separate directory.\n\n```bash\nforge init example\ncd example\n```\n\nFrom the foundry directory deploy the counter contract to your local testnet node.\n\n```bash\nforge create src/Counter.sol:Counter --verify --unlocked \\\n--from 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266 \\\n--rpc-url http://localhost:8545 \\\n--verifier-url http://localhost:3000/api/verify \\\n--verifier sourcify\n```\n\n_Note: If this command fails see the Foundry Configuration section at the bottom of the README._\n\nNavigate to [http://localhost:3000](http://localhost:3000), click the connect wallet button, and choose Blacksmith.\n\n_Note: Refresh the page if the wallet modal fails to dismiss._\n\nSelect the Counter contract in the contracts sidebar and begin interacting!\n\n## Forking Mainnet\n\nReplace the `$INFURA_KEY` with your personal API key.\n\n```bash\nanvil --fork-url https://mainnet.infura.io/v3/$INFURA_KEY\n```\n\nNavigate to the Blacksmith \"Getting Started\" page by clicking the \"Blacksmith\" heading.\n\nIn the \"Contract Management\" section enter the contract address for Dai `0x6b175474e89094c44da98b954eedeac495271d0f` and click the import button.\n\nSelect the Dai contract in the contracts sidebar and begin interacting!\n\nExample: Try entering `0xad0135af20fa82e106607257143d0060a7eb5cbf` into the `balanceOf` function.\n\n_Note: In order for the contract import to succeed, the contract must be verified on Etherscan._\n\n## Advanced Usage\n\nCreate a `.env.local` in the root directory of Blacksmith and include your API key to avoid rate limits.\n\n```bash\necho \"ETHERSCAN_API_KEY=XXX\" \u003e\u003e .env.local\n```\n\n## Script Imports\n\nAn example of the CLI arguments needed to import contracts via `forge script` can be found below.\n\n```bash\nforge script script/Counter.s.sol:CounterScript --broadcast --verify --unlocked \\\n--sender 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266 \\\n--fork-url http://localhost:8545 \\\n--verifier-url http://localhost:3000/api/verify \\\n--verifier sourcify\n```\n\n## Hardhat\n\nIf you're working with Hardhat check out [🏗 scaffold-eth](https://github.com/scaffold-eth/scaffold-eth)!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblacksmith-eth%2Fblacksmith","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblacksmith-eth%2Fblacksmith","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblacksmith-eth%2Fblacksmith/lists"}