{"id":26897052,"url":"https://github.com/gervaiscodes/cyfrin-foundry-fund-me","last_synced_at":"2025-04-01T04:33:17.454Z","repository":{"id":282768521,"uuid":"949593080","full_name":"gervaiscodes/cyfrin-foundry-fund-me","owner":"gervaiscodes","description":"Solidity-based crowdfunding smart contract","archived":false,"fork":false,"pushed_at":"2025-03-16T19:44:31.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T20:38:19.699Z","etag":null,"topics":["chainlink","solidity"],"latest_commit_sha":null,"homepage":"","language":"Solidity","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/gervaiscodes.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":"2025-03-16T19:42:57.000Z","updated_at":"2025-03-16T19:46:54.000Z","dependencies_parsed_at":"2025-03-16T20:38:22.409Z","dependency_job_id":"b598fd3c-eeb9-49e8-b8c7-bb471959cfbb","html_url":"https://github.com/gervaiscodes/cyfrin-foundry-fund-me","commit_stats":null,"previous_names":["gervaiscodes/cyfrin-foundry-fund-me"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gervaiscodes%2Fcyfrin-foundry-fund-me","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gervaiscodes%2Fcyfrin-foundry-fund-me/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gervaiscodes%2Fcyfrin-foundry-fund-me/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gervaiscodes%2Fcyfrin-foundry-fund-me/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gervaiscodes","download_url":"https://codeload.github.com/gervaiscodes/cyfrin-foundry-fund-me/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246586105,"owners_count":20801026,"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":["chainlink","solidity"],"created_at":"2025-04-01T04:33:16.779Z","updated_at":"2025-04-01T04:33:17.444Z","avatar_url":"https://github.com/gervaiscodes.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FundMe Solidity Project\n\n![Tests badge](https://github.com/gervaiscodes/cyfrin-foundry-fund-me/actions/workflows/test.yml/badge.svg)\n\n## Overview\n\nFundMe is a Solidity-based crowdfunding smart contract project utilizing Chainlink oracles to fetch price data for accurate ETH to USD conversion. The project is structured with Foundry for smart contract development, testing, and deployment.\n\n## Features\n\n- **Funding Mechanism**: Users can fund the contract with ETH.\n- **Owner Withdrawal**: The contract owner can withdraw funds.\n- **Price Conversion**: Utilizes Chainlink's `MockV3Aggregator` for price feeds.\n- **Automated Tests**: Uses Foundry for Solidity testing.\n\n## Project Structure\n\n```\n- src/\n  - FundMe.sol              # Main contract for funding\n  - PriceConverter.sol      # Library for ETH to USD conversion\n  - MockV3Aggregator.sol    # Mock price feed for testing\n\n- script/\n  - DeployFundMe.s.sol      # Deployment script\n  - Interactions.s.sol      # Script for interacting with deployed contract\n  - HelperConfig.s.sol      # Configuration script\n\n- test/\n  - FundMeTest.t.sol        # Unit tests for FundMe contract\n  - InteractionsTest.t.sol  # Tests for interactions\n\n- foundry.toml              # Foundry configuration\n- Makefile                  # Build automation script\n```\n\n## Installation \u0026 Setup\n\n### Prerequisites\n\n- [Foundry](https://getfoundry.sh/) installed\n- Node.js and npm installed\n- `.env` file with necessary RPC URLs\n\n### Installation\n\n1. Clone the repository:\n\n```sh\ngit clone \u003crepo-url\u003e\ncd FundMe\n```\n\n2. Install dependencies:\n\n```sh\nforge install\n```\n\n3. Configure Foundry:\n\n```sh\ncp foundry.toml.example foundry.toml\n```\n\n   Modify `foundry.toml` to include your RPC endpoints.\n\n## Usage\n\n### Compile Contracts\n\n```sh\nforge build\n```\n\n### Run Tests\n\n```sh\nforge test\n```\n\n### Deploy to Sepolia Testnet\n\n```sh\nforge script script/DeployFundMe.s.sol --rpc-url $SEPOLIA_RPC_URL --private-key $PRIVATE_KEY --broadcast\n```\n\n### Interact with Deployed Contract\n\n```sh\nforge script script/Interactions.s.sol --rpc-url $SEPOLIA_RPC_URL --private-key $PRIVATE_KEY --broadcast\n```\n\n## Contributing\n\n1. Fork the repository.\n2. Create a feature branch.\n3. Submit a pull request.\n\n## License\n\nMIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgervaiscodes%2Fcyfrin-foundry-fund-me","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgervaiscodes%2Fcyfrin-foundry-fund-me","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgervaiscodes%2Fcyfrin-foundry-fund-me/lists"}