{"id":20650966,"url":"https://github.com/niklr/crowdmint","last_synced_at":"2025-04-17T12:42:13.716Z","repository":{"id":46204627,"uuid":"406413793","full_name":"niklr/crowdmint","owner":"niklr","description":"Decentralized crowdfunding powered by Nervos Network","archived":false,"fork":false,"pushed_at":"2023-07-28T11:50:09.000Z","size":2453,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T06:11:15.299Z","etag":null,"topics":["defi","nervos","nervosnetwork"],"latest_commit_sha":null,"homepage":"https://niklr.github.io/crowdmint/","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/niklr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-09-14T15:02:52.000Z","updated_at":"2023-07-28T11:46:45.000Z","dependencies_parsed_at":"2024-11-16T17:36:50.842Z","dependency_job_id":null,"html_url":"https://github.com/niklr/crowdmint","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niklr%2Fcrowdmint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niklr%2Fcrowdmint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niklr%2Fcrowdmint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niklr%2Fcrowdmint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/niklr","download_url":"https://codeload.github.com/niklr/crowdmint/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249342135,"owners_count":21254228,"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":["defi","nervos","nervosnetwork"],"created_at":"2024-11-16T17:24:45.610Z","updated_at":"2025-04-17T12:42:13.695Z","avatar_url":"https://github.com/niklr.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CrowdMINT\n\nDecentralized crowdfunding on [Nervos Network](https://www.nervos.org/).\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"assets/logo_text.png\" alt=\"CrowdMINT logo\"\u003e\n\u003c/p\u003e\n\nCrowdMINT is a blockchain based solution leveraging NFTs to crowdfund community projects.\n\nThe developed smart contracts support both the fixed AON (All-Or-Nothing) and the flexible KIA (Keep-It-All) [crowdfunding models](https://www.researchgate.net/publication/272306935_Crowdfunding_Models_Keep-it-All_vs_All-or-Nothing).\nA big advantage of smart contracts is most of the fees known from conventional crowdfunding platforms are eliminated.\nHowever, possible business uses cases could involve a small fee when creating projects or after successful campaigns, directly programmed into the smart contract.\n\nTypical crowdfunding campaigns offer rewards to contributors for specific amounts. On top of that, CrowdMINT plans to leverage NFTs to incentivize funders.\nBy choosing this option, the amount above the funding goal will be distributed to the holders of minted NFTs and based on the percentage defined by the campaign creator.\n\nExample:\n\n- Funding goal was set to 100'000 CKB and reached 500'000 CKB\n- 50% of the amount above goal will be distributed to eligible funders\n- NFT minting was limited to 100 with a unit price of 1'000 CKB\n- Funder A minted 2 NFTs\n- Funder B minted 10 NFTs\n\nBoth funders A and B not only contributed to make this crowdfunding project a success but also get a ROI.\n\n- 50% of 400'000 CKB = 200'000 CKB is distributed among eligible funders\n- Funder A gets 2% of 200'000 CKB = 4'000 CKB (2'000 CKB profit)\n- Funder B gets 10% of 200'000 CKB = 20'000 CKB (10'000 CKB profit)\n\nA decentralized crowdfunding solution such as CrowdMINT could have a great impact on the community leading to a higher number of successful projects started on Nervos.\n\n#### Table of Content:\n* [Demo](#demo)\n* [Architecture](#architecture)\n* [Roadmap](#roadmap)\n* [Setup](#setup)\n\n## Demo \u003ca name=\"demo\"\u003e\u003c/a\u003e\n\nVideo Walkthrough: [https://youtu.be/s-3PJrl0gQQ](https://youtu.be/s-3PJrl0gQQ)\n\nLive Demo: [https://niklr.github.io/crowdmint/](https://niklr.github.io/crowdmint/)\n\nBefore accessing the live demo, please make sure to complete the following steps:\n- [Setup Godwoken Network in MetaMask](#metamask)\n- [Create a Godwoken Account by Making a Layer 2 Deposit](#deposit)\n\n## Architecture \u003ca name=\"architecture\"\u003e\u003c/a\u003e\n\n\u003ch1 align=\"center\"\u003e\n\t\u003cimg src=\"assets/architecture.png\" alt=\"CrowdMINT architecture\"\u003e\n\u003c/h1\u003e\n\nThe contracts can be found in the [contracts](/contracts) folder.\nThey are built using [Solidity](https://docs.soliditylang.org/en/v0.7.6/) in combination with [Hardhat](https://hardhat.org/).\n\nThe workers can be found in the [workers](/workers) folder. \nThey are built using [TypeScript](https://www.typescriptlang.org/) and run as part of [GitHub Actions](https://github.com/features/actions).\n[Pinata](https://www.pinata.cloud/) was selected in order to pin data hosted on [IPFS](https://ipfs.io/).\nWhenever a project gets created or updated, the worker will detect and handle the events initiated by the smart contract.\n\nThe frontend can be found in the [client](/client) folder. \nIt is built using [React](https://reactjs.org/) and [GraphQL](https://graphql.org/) in combination with [TypeScript](https://www.typescriptlang.org/). \nFor design \u0026 layout purposes the [Material UI](https://mui.com/) framework has been chosen.\n\nAll components are using [Polyjuice Provider](https://github.com/nervosnetwork/polyjuice-provider) to interact with Nervos Layer 2 (Godwoken).\n\n## Roadmap \u003ca name=\"roadmap\"\u003e\u003c/a\u003e\n\n### 2021.Q4\nAlpha release on Nervos Layer 2 Godwoken Testnet with the focus on functionalities for a minimum viable product.\n\n- Start new projects as a creator\n- Contribute to projects as an individual\n- Withdraw as a creator or individual\n\n### 2022.Q1\nImplement [ERC-721](https://ethereum.org/en/developers/docs/standards/tokens/erc-721/) Non-Fungible Token standard.\n\n- Enable project creators to leverage NFTs to incentivize funders\n- Mint project NFTs and collect NFT rewards as an individual\n- Beta release on Nervos Layer 2 Godwoken Testnet\n\n### 2022.Q2\nPublic release on Nervos Layer 2 Godwoken Mainnet.\n\n- Security audit of smart contracts\n- Integrate [The Graph](https://thegraph.com/en/) to improve querying performance\n- Automatized social media promotion covering trending projects\n\n### 2022.Q3\nAirdrop governance token which allows token holders to help shape the future of CrowdMINT.\n\nEstablish DAO to decentralize the decision-making process:\n- Approve new projects and vote-based promotion on start page\n- Flag misconducting users to be suspended or banned \n\n## Setup \u003ca name=\"setup\"\u003e\u003c/a\u003e\n\nThe setup is split into 3 parts; [contracts](/contracts), [workers](/workers) and [client](/client). All parts require [Node](https://nodejs.org/en/) v14+ and [Yarn](https://yarnpkg.com/getting-started/install) to be installed.\n\nTo install all dependencies just run the following command in the folder containing this README:\n\n```bash\nyarn install-all\n```\n\n### Setup Godwoken Network in MetaMask \u003ca name=\"metamask\"\u003e\u003c/a\u003e\nhttps://github.com/Kuzirashi/gw-gitcoin-instruction/blob/master/src/tasks/7.port.eth.dapp.md\n\n\u003cdetails open\u003e\n\u003csummary\u003eGodwoken Testnet\u003c/summary\u003e\n\u003cpre\u003e\nNetwork Name: Godwoken Testnet\nRPC URL: https://godwoken-testnet-web3-rpc.ckbapp.dev\nChain ID: 71393\nCurrency Symbol: \u0026lt;Leave Empty\u0026gt;\nBlock Explorer URL: \u0026lt;Leave Empty\u0026gt;\n\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eGodwoken Devnet\u003c/summary\u003e\n\u003cpre\u003e\nNetwork Name: Godwoken Devnet\nRPC URL: http://localhost:8024\nChain ID: 1024777\nCurrency Symbol: \u0026lt;Leave Empty\u0026gt;\nBlock Explorer URL: \u0026lt;Leave Empty\u0026gt;\n\u003c/pre\u003e\n\u003c/details\u003e\n\n### Create a Godwoken Account by Making a Layer 2 Deposit \u003ca name=\"deposit\"\u003e\u003c/a\u003e\nhttps://github.com/Kuzirashi/gw-gitcoin-instruction/blob/master/src/component-tutorials/4.layer2.deposit.md\n\n## Impressions\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"assets/impression_1.png\" alt=\"CrowdMINT impression 1\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"assets/impression_2.png\" alt=\"CrowdMINT impression 2\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"assets/impression_3.png\" alt=\"CrowdMINT impression 3\"\u003e\n\u003c/p\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniklr%2Fcrowdmint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fniklr%2Fcrowdmint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniklr%2Fcrowdmint/lists"}