{"id":16213869,"url":"https://github.com/solygambas/ethereum-solidity","last_synced_at":"2026-04-03T23:37:34.631Z","repository":{"id":102301093,"uuid":"428749999","full_name":"solygambas/ethereum-solidity","owner":"solygambas","description":"4 blockchain applications using Ethereum, Solidity, React and Next.js.","archived":false,"fork":false,"pushed_at":"2022-05-01T04:47:50.000Z","size":2772,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-13T23:34:57.684Z","etag":null,"topics":["blockchain","chai","ethereum","ethereum-contract","ethers","ethersjs","hardhat","infura","ipfs","javascript","maticnetwork","nextjs","openzeppelin","polygon","react","reactjs","semantic-ui","smart-contracts","solidity","tailwind"],"latest_commit_sha":null,"homepage":"https://crowdcoin-ethereum.vercel.app/","language":"JavaScript","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/solygambas.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":"2021-11-16T17:22:01.000Z","updated_at":"2023-03-05T10:22:31.000Z","dependencies_parsed_at":"2023-05-01T20:10:08.754Z","dependency_job_id":null,"html_url":"https://github.com/solygambas/ethereum-solidity","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/solygambas%2Fethereum-solidity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solygambas%2Fethereum-solidity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solygambas%2Fethereum-solidity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solygambas%2Fethereum-solidity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/solygambas","download_url":"https://codeload.github.com/solygambas/ethereum-solidity/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247737781,"owners_count":20987721,"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","chai","ethereum","ethereum-contract","ethers","ethersjs","hardhat","infura","ipfs","javascript","maticnetwork","nextjs","openzeppelin","polygon","react","reactjs","semantic-ui","smart-contracts","solidity","tailwind"],"created_at":"2024-10-10T11:08:52.316Z","updated_at":"2025-12-30T20:05:39.290Z","avatar_url":"https://github.com/solygambas.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ethereum \u0026 Solidity Projects\n\n4 blockchain applications using Ethereum, Solidity, React and Next.js.\n\n| #   | Project                            | Description                                                                         |\n| --- | ---------------------------------- | ----------------------------------------------------------------------------------- |\n| 01  | [**Inbox**](#inbox)                | A small project to understand how to test and deploy smart contracts with Solidity. |\n| 02  | [**Lottery**](#lottery)            | An Ethereum lottery to build and test a more advanced smart contract.               |\n| 03  | [**Lottery React**](#lotteryreact) | A React front-end created around the lottery contract.                              |\n| 04  | [**Kickstart**](#kickstart)        | A crowdfunding app using Next.js.                                                   |\n\n## \u003ca name=\"inbox\"\u003e\u003c/a\u003e 1) Inbox\n\nA small project to understand how to test and deploy smart contracts with Solidity.\n\n[See 01-inbox folder](01-inbox)\n\n### Features\n\n- setting up a project in VS Code with [Solidity syntax highlighting](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity).\n- creating a compile script for Solidity with solc.\n- testing the contract with Mocha.\n- fetching fake accounts from Ganache CLI.\n- deploying locally with web3.\n- deploying to Rinkeby network with hdwallet-provider and Infura API.\n- observing deployment on Etherscan and testing the new contract in Remix.\n\n## \u003ca name=\"lottery\"\u003e\u003c/a\u003e 2) Lottery\n\nAn Ethereum lottery to build and test a more advanced smart contract.\n\n[See 02-lottery folder](02-lottery)\n\n### Features\n\n- understanding basic and reference types in Solidity: arrays, mappings and structs.\n- entering the lottery and validating payment with a require statement.\n- generating a pseudo random number and selecting a winner.\n- sending money to the winner and resetting the lottery.\n- restricting access with a function modifier.\n- debugging with Remix.\n- writing tests with Mocha and using try-catch assertions.\n- deploying to Rinkeby network with hdwallet-provider and Infura API.\n\n## \u003ca name=\"lotteryreact\"\u003e\u003c/a\u003e 3) Lottery React\n\nA React front-end created around the lottery contract.\n\n[See Demo deployed on Vercel](https://ethereum-lottery.vercel.app/)\n([MetaMask Plugin](https://metamask.io/) is required)\n\n[See 03-lottery-react folder](03-lottery-react)\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"03-lottery-react\"\u003e\n        \u003cimg src=\"03-lottery-react/screenshot.png\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n### Features\n\n- setting up a React project.\n- creating a web3 instance and a local contract instance.\n- detecting the MetaMask Ethereum provider with @metamask/detect-provider.\n- enforcing the connection to the Rinkeby test network.\n- rendering contract data.\n- entering the lottery, checking user input and sending a transaction.\n- adding user-friendly notifications.\n- picking a winner.\n\n## \u003ca name=\"kickstart\"\u003e\u003c/a\u003e 4) Kickstart\n\nA crowdfunding app using Next.js.\n\n([MetaMask Plugin](https://metamask.io/) is required)\n\n[See 04-kickstart folder](04-kickstart)\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"04-kickstart\"\u003e\n        \u003cimg src=\"04-kickstart/screenshot.png\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n### Features\n\n- using struct for request and creating struct instances.\n- understanding the difference between storage and memory.\n- using mappings rather than arrays for performance reasons.\n- deploying a campaign factory to keep track of deployed campaigns.\n- testing the factory with Remix.\n- compiling the contracts with solc and fs-extra.\n- testing the contracts with Mocha, Ganache CLI and web3.\n- deploying to Rinkeby network with hdwallet-provider and Infura API.\n- creating a test campaign with Remix and Metamask.\n- handling server and client Web3 instances.\n- fetching deployed campaigns with getInitialProps.\n- building an interface with Semantic UI React.\n- handling forms to create a new campaign and to contribute.\n- navigating between pages with Link and useRouter.\n- displaying campaign details with Next dynamic routes.\n- listing out all the requests and adding a new one.\n- approving and finalizing requests.\n\nBased on [Ethereum and Solidity: The Complete Developer's Guide](https://www.udemy.com/course/ethereum-and-solidity-the-complete-developers-guide/) by Stephen Grider (2021).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolygambas%2Fethereum-solidity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolygambas%2Fethereum-solidity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolygambas%2Fethereum-solidity/lists"}