The repository for Fleek Non-Fungible Apps project
🚧 IMPORTANT 🚧 - This initiative is under development, so this repo should be treated as a WIP. The goals and the roadmap might change as the project is shaped.
This is the landing point for Fleek's initiative to implement infrastructure as Solidity contracts.
The vision is to have this on Ethereum Mainnet. We can create a network of smart contracts that represent the different parts of your stack. We had previously targeted Polygon but have changed it to Ethereum Mainnet for better interoperability and the security that mainnet provides.
The goal is to be a more verifiable and crypto-friendly Serverless.yaml or Cloudformation manifests that will enable us to develop use cases on top like community hosting.
We've developed a base set of contract code so now we want to harden it as well as add more metadata and features to support use cases with the first use case being community hosting. So be sure to check out the roadmap on the wiki.
You can find the wiki here for more information about the project.
Inside the root folder you are going to find:
- contracts: All the developed contracts
- subgraph: The Graph project related code
- serverless: The serverless and Mongo/Prisma set-up
- ui: A web application to interact with deployed contracts
You can see breakdowns of other folders in the README within those folders.
Within the project is the contracts folder which houses the contracts, utils, tests, and deployment scripts associated with the Solidity smart contracts. Check the contracts readme for more info.
To index data off-chain, we use TheGraph and this section is the code required for our subgraph. Check the subgraph readme for more info.
For verification purposes and our off-chain stack, we are using a MongoDB instance integrated with Prisma and serverless handlers. Check the serverless readme for more info.
Within the project is included a React web application to expose and test the interaction with deployed scripts. Check the UI readme for more info.
For code formatting, we are using Prettier and following the styling guide from Solidity documentation. For formatting the code you can run:
$ yarn format
⚠️ Please make sure you are following the code styling guide before pushing the code
Our goal is to reach a point where trustable Solidity contracts can be used for identifying properly the data about web3 applications. Within that goal, we want to also provide ways for users to organize and list information about their applications. To get at this we are currently starting with:
- Define trustable and extendable smart contracts and standards
- Prove how the concept would be applied using static sites
- Prove community-hosted apps via these contracts
Later on, when the initiative proves its value, a service will be added to Fleek's platform in a friendly way for anyone to be able to get their applications onboard.
The proof of concept was concluded last year and you can reach more information here.
We use the following libraries to develop Fleek Non-Fungible Apps
This is an open-source initiative! Any new idea is welcome, if you want to help us to improve the project please check out the contributing guide.
Fleek Non-Fungible Apps is released under the MIT License.
If you have found a bug to report, please create an issue. Thank you!