Fund Ring is a smart contract standard and set of ready-to-embed components, designed to simplify the process of receiving funding for your project in FIL.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Fund Ring is a smart contract standard and set of ready-to-embed components, designed to simplify the process of receiving funding for your project in FIL.
When you join Fund Ring, you join a broad community of FLOSS projects. It’s like a good ol’ fashioned web ring for funding.
You have full control over how you connect to the Fund Ring. You can use it to highlight other projects you run or rely on.
All you need is a git repo and a Filecoin wallet. Our wizard will guide you through the quick setup process.
You can try out the app yourself here.
You can contribute funds to the main Fund Ring project here. Funds from this contract can be used to fund projects the community votes for.
This is an example of the Funding widget that you could instead point to your project's deployed contract:
You can apply here to have your project join the Fund Ring.
This page will deploy a Fund Ring contract for your project, which you will be the owner of. It will also provide you with the code to embed a Funding widget web-component in your project
Ready? Let's go.
-
Install
npm
npm install npm@latest -g
-
Install a wallet client that supports the FEVM
- MetaMask may be a good/easy choice if you don't already have a wallet client
-
Get a WalletConnect ProjectID at https://cloud.walletconnect.com/sign-up
-
Get a Web3.Storage key at https://web3.storage/login/
- Clone the repo
git clone https://github.com/FundRing/fundring.git
- Navigate to project directory
cd fundring
- Install NPM packages
npm install
- Create
.env
file withPUBLIC_WEB3_STORAGE_KEY="<YOUR_WEB3STORAGE_KEY>"
- Start the application in dev mode
npm run dev
Export a static build.
npm run build
The build outputs the static site to the build
directory.
If you are making updates to the widget component and want to export it as an embeddable web-component, you can run:
npm run build:web-components
The build outputs fund-ring-widget.js
and fund-ring-widget.js.map
files to the static
directory.
Once you have your fund-ring-widget.js
file, you can embed it in your app using:
<script src="fund-ring-widget.js"></script>
<fund-ring-widget
contractAddress="<YOUR_DEPLOYED_FUND_RING_CONTRACT_ADDRESS>"
title="A title for the widget"
description="A brief description to display in the body"
/>
- Install Foundry
curl -L https://foundry.paradigm.xyz | bash
- Build the contracts
forge build
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License.
- Repo issues Link: https://github.com/FundRing/fundring/issues
- Filecoin Slack: https://filecoin.io/slack
- Fission Discord: https://fission.codes/discord/