diff --git a/src/content/blog/Uncategorized/introducing-nfas-non-fungible-apps/fleekxyz-nfa-thumb.png b/src/content/blog/Uncategorized/introducing-nfas-non-fungible-apps/fleekxyz-nfa-thumb.png deleted file mode 100644 index fc6b9a3b..00000000 Binary files a/src/content/blog/Uncategorized/introducing-nfas-non-fungible-apps/fleekxyz-nfa-thumb.png and /dev/null differ diff --git a/src/content/blog/Uncategorized/introducing-nfas-non-fungible-apps/index.md b/src/content/blog/Uncategorized/introducing-nfas-non-fungible-apps/index.md deleted file mode 100644 index 5029e92c..00000000 --- a/src/content/blog/Uncategorized/introducing-nfas-non-fungible-apps/index.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: 'Introducing NFA’s: Non-Fungible Apps' -date: 2022-12-22 -desc: 'Today, we’re proposing Non-Fungible Apps (NFAs) - A new approach for on-chain tokenization of apps that will help unlock better decentralization, censorship resistance, and community ownership for Web3 frontends.' -thumbnail: './fleekxyz-nfa-thumb.png' -image: './fleekxyz-nfa-thumb.png' ---- - -##### Non-Fungible Apps (NFA) – The concept is quite simple; take everything that makes your web3 app run and orchestrate it through a smart contract for increased transparency, decentralization, and censorship resistance. The NFA owns everything and controls everything. When you transfer your NFA, you’re transferring your _entire_ app. - ---- - -## What are NFAs? - -![Extra step with Fleek promotional banner advertisment](https://storageapi.fleek.one/fleek-team-bucket/Blogs/nfa-extra-steps.jpeg)Well Rick, you’re actually right! [**NFAs**](https://github.com/fleekxyz/non-fungible-apps) **are an implementation on top of the ERC721 NFT standard that holds the on-chain metadata for _everything_ about your app**. Name, domain, build history, infra endpoints, etc. And unlike most NFT’s, NFA’s will probably update frequently (ex. every time you push a new production build). - -But that’s not all, in the endgame we’ve got in mind, **NFAs will handle everything related to keeping your app alive** like owning and updating the content hash that your ENS name (or other domain) points to and paying for your apps decentralized hosting, storage, delivery, databases, RPC endpoints, and much more! - -Similar to ENS, NFAs are not as much about the new primitive as much as they are about the supporting ecosystem that brings novelty and usefulness to the new primitive. - ---- - -## Why NFAs? - -While the recent announcement of [Fleek Network](https://fleek.network) is a very critical piece for fully decentralizing frontends and apps, there are still other pieces of the stack (ex. DNS, HTTP, etc.) that need addressing, and we think NFA’s can help solve that. **The combination of Fleek Network and NFA’s is what we feel eventually gets us to true decentralized frontend and application hosting**. Let’s dive into the three main reasons why you should be excited about NFA’s. - -### Web3 Apps (especially the frontends) Desperately Need Decentralization - -Web3 apps of today still suffer from a lack of decentralization. For the most part, every web3 app is still using centralized solutions for hosting, content delivery, storage, DNS, RPC endpoints, etc. Besides this leaving web3 frontends vulnerable to [censorship](https://twitter.com/liamzebedee/status/1577525264963100674) and [hacks](https://www.coindesk.com/business/2021/12/10/badgerdao-reveals-details-of-how-it-was-hacked-for-120m/), it has also created [financial](https://www.coindesk.com/policy/2022/01/03/cftc-fines-crypto-betting-service-polymarket-14m-for-unregistered-swaps/) and even [criminal](https://www.coindesk.com/policy/2022/11/22/tornado-cash-developer-alexey-pertsev-to-remain-in-jail-until-at-least-late-februrary/) liability for web3 projects and their founders. Combine that with the increasingly uncertain regulatory environment around web3, it’s now becoming way too risky for web3 projects to be the sole centralized frontend operators of their apps. - -NFAs will help to solve this issue by allowing **smart contracts to trustlessly own and control all of the infrastructure and assets that encompass your web3 app**. For example, NFA’s will be able to automatically update your ENS (or other domain) based on the IPFS CID of your most recent build, pay for your decentralized hosting, storage, or other infra such as usage of an RPC endpoint (ex. POKT Network). **Anything you’d usually do/own/pay for as a founder can now be automated and abstracted to the NFA**. - -Here’s where things also get kinda cool. Minting your app as an NFA means that **transferring the NFA actually means transferring the app**. So in the future you could see all the same cool stuff people are doing with NFT’s, and now do it with NFA’s. Buy/sell them, DAO/community own them, take out loans against the app (or its cash flow), etc. Imagine something like Flippa which already allows buying/selling of Shopify stores and Amazon businesses, but way cooler, transparent, and trustless. - ---- - -### Web3 Apps Need Better Censorship Resistance & Accessibility - -One of the least addressed centralized points of failure for web3 applications is their reliance on browsers and DNS. Most attempts at censorship happen at this level. **To solve this reliance we need to (1) increase the amount of access points (2) decentralize the way we access apps.** - -Cool projects like [Dappnet](http://twitter.com/dappnetbby), [Backpack](https://www.backpack.app/), and others are already trying several different approaches at solving this issue and we are big fans of those efforts. We think NFA’s could be super useful to those and many other projects. For example, crypto wallets or other interfaces that embrace **NFA’s could serve as new access points for web3 apps** that don’t rely on DNS or HTTP, and given they already surface NFT’s the work to support NFA’s would be trivial. - -For web3 apps that want to hand over operation of their frontend to their community, NFAs could keep a tamperproof record of approved domains to access the app (almost like IPFS gateways but on an app-specific level). And the NFA could help guarantee that all those approved domains are always running the correct version of the app by checking the CID (and the correct version of the app could be updated/decided by the core team or the DAO, etc.). Another benefit of this is we think this could greatly reduce phishing attacks on web3 apps. - -You can think of NFA’s as allowing any web3 project to do something kinda like what Liquity has done for front-end decentralization (we love what they did and took inspiration from them), **but with the flexibility to set it up however you want** (ex. choose if/how you want to incentivize people to run frontends, choose how many different domains you want to host your app, if you want different approved versions of the frontend or all domains point to the same one, etc). And we will add features to the Fleek.xyz platform to make it super easy to mint your site/app as an NFA, manage/update it, and for others to participate/run frontends for your app/NFA. - -### Web3 Apps Should Be Controlled by DAO’s/Communities (not Founders/Companies) - -Besides the security and liability issues mentioned above, that company/founder-operated frontends are vulnerable to, from a web3 principals perspective it also just seems odd for certain backend infra (ex. smart contracts) to be owned/controlled by a DAO/token holders (and for value accrued from them to go to the DAO), but not any of the other infra/assets or value capture relating to the project. - -To be fair, up until recently it has been quite hard for a DAO/smart contract to own and control infrastructure besides the smart contracts that live on that same chain. But with the recent explosion in decentralized infrastructure covering almost all parts of the stack, in addition to advancements in cross-chain/omnichain/threshold cryptography, plus now with the introduction of NFA’s, we finally see a path forward. - -**DAO’s, multisigs, and communities can own/control/operate their frontends with NFA’s.** DAOs that own their app through an NFA would be able to use governance or delegating permissions for updating the app, paying for infra, managing the records of infra and access points, have full control over transferring the app in its entirety, and build with less worry of hacks or liability. - -To say the least, we’re really excited for NFAs owned by DAOs. - ---- - -## NFAs in Fleek.xyz - -![NFAs with FLEEK compaire to funny banner advertisment](https://storageapi.fleek.one/fleek-team-bucket/Blogs/fleek-distracted-nfas.jpeg) - -As the [Fleek.xyz](https://fleek.xyz) platform begins to roll out in early 2023, we’ll also be continuously adding more and more functionality to integrate NFAs into the platform. To start, **sites/apps hosted through Fleek will have the option to be minted to the NFA contract**. From there, further integrations for automating updates to the contract via your site's CI / CD pipeline and payments to protocols will be gradually added in. - -From Fleek’s POV, **NFAs eventually become almost like the backend for the Fleek platform**, removing our reliance on a centralized backend for the platform. Your NFA’s on-chain dynamic metadata will already carry all of the information that we’d need to surface anyways, it then becomes a matter of us querying it from the contract. And once we add all the billing capabilities to the NFA, we could just facilitate billing through the NFA rather than via the Fleek platform. - -That future vision gets us about as close to true decentralized hosting (and Fleek platform decentralization) as we can imagine for right now. And yes, the goal is eventually the **Fleek.xyz platform itself will be an NFA**. 🔥 - ---- - -## NFAs V0 & Beyond - -To make our first steps down this road, **today we’re presenting** [**our initial implementation of the NFAs contract**](https://github.com/fleekxyz/non-fungible-apps)**.** - -Feedback from the web3 community is critical at this early stage. While we understand the problems NFAs solve, the semantics of how to implement them is still up in the air and we want the community’s input before we harden anything. **Please feel free to reach out if you are interested in jamming on these ideas or interested in using NFA’s for decentralizing your web3 app frontend**. - -Going beyond V0, we also touched on some key features of NFAs in this blog that we will continue to develop and share with the community, including: - -- **An EIP submission** -- **A technical overview of the NFA standard** -- **A deep dive into the community hosting features & how it will enable users to mint their own “prints” of apps for maximum accessibility.** - -For more information about the NFAs implementation’s roadmap, also check out [the NFA Github wiki](https://github.com/fleekxyz/non-fungible-apps/wiki)! - ---- - -As you can tell, we’re super stoked about NFAs! Today we first presented what NFAs are and why they’re a game changer for decentralization, censorship resistance, and community ownership of web3 apps. - -If you’re passionate about decentralizing apps, please checkout our initial [NFAs implementation repo](https://github.com/fleekxyz/non-fungible-apps). PRs, issues, and discussions are all welcome and appreciated! - -Lastly, if you’ve got any questions, ideas, or just want to jam with our team, hop into [our Discord](https://discord.gg/fleek). ⚡️ - -- For more resources visit [our LinkTree](https://linktr.ee/fleek). diff --git a/src/content/blog/Uncategorized/nfa-community-hosting/community-hosting-thumb.png b/src/content/blog/Uncategorized/nfa-community-hosting/community-hosting-thumb.png deleted file mode 100644 index 23a70f3c..00000000 Binary files a/src/content/blog/Uncategorized/nfa-community-hosting/community-hosting-thumb.png and /dev/null differ diff --git a/src/content/blog/Uncategorized/nfa-community-hosting/index.md b/src/content/blog/Uncategorized/nfa-community-hosting/index.md deleted file mode 100644 index 993332ae..00000000 --- a/src/content/blog/Uncategorized/nfa-community-hosting/index.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: 'Non-Fungible Apps (NFAs): Community Hosting' -date: 2023-01-20 -desc: 'Update incoming! We’re working on an initial implementation of Non-Fungible Applications (NFAs) that focuses on decentralizing the access points to community owned web3 apps.' -thumbnail: './community-hosting-thumb.png' -image: './community-hosting-thumb.png' ---- - -**TL;DR** - -- The NFAs project now has a dedicated team & roadmap! -- Thanks to feedback from our ecosystem we’re focusing the NFAs MVP on community hosting. -- NFAs will empower communities to support their favorite web3 apps by creating new access points to their frontend. -- Fleek will hook into the NFAs contract to expedite the verification process. - ---- - -A month ago we dropped an announcement that we were working on a new web3 primitive: Non-Fungible Apps (NFAs). If you missed the announcement, [go read it](https://blog.fleek.co/posts/introducing-nfas-non-fungible-apps), brush up on the core concept of NFAs (at least the TL;DR), and this blog will make much more sense. - -Today, we’re back to announce that we’re working on the MVP for NFAs (to be released in April) that will have a large focus on **decentralizing one of the most vulnerable yet most used parts of web3 apps – their frontend**. In tandem with the Fleek.xyz platform, community hosted NFAs will enable founders, DAOs, and developers alike to empower their community to run verifiable frontends for them. - -We’ll touch on a few different topics in this blog, jump ahead using the links below: - -- [What are NFA Access Points and why should I care?](#decentralizing-web3-app-access-points) -- [What progress has been made on NFAs and what is left?](#mvp-development-progress) -- [How does Fleek tie into all of this?](#so-how-does-fleekxyz-fit-into-the-picture) - -Prefer to dig into code instead of reading? You’re in luck, NFAs have been open source from day one and we’ve got [an MVP working branch](https://github.com/fleekxyz/non-fungible-apps/tree/develop) in development for you to check out. - ---- - -## Decentralizing Web3 App Access Points - -![Centralized and Decentralized Access points infographic banner](https://storage.fleek.ooo/fleek-team-bucket/Blogs/nfa-blog-infographic-3.jpeg) - -Community hosting will enable NFA owners to **store a verifiable on-chain list of approved frontends for their web3 app**. Community members who wish to extend the censorship resistance of their favorite web3 app’s frontend will be able to mint their own mirror of the NFA that we’re calling **Access Points**. - -In their simplest form, NFA Access Points will be **independently run domains that point to the frontend content (in the form of IPFS / IPNS content hash) of the NFA that they’re mirroring**. When an NFA updates their frontend contents, the new content hash will trickle down to all Access Points, ensuring that all Access Points consistently point to NFAs frontend. - -With multiple access points to the same frontend content, an app’s resilience to censorship goes up. For example, if Fleek’s frontend was minted as an NFA and Fleek.xyz (our official frontend) went down, community hosted versions (let’s imagine they’re something like fleek4ever.co and imonfleek.xyz) would still be able to serve our frontend’s content to users. - -To keep Access Points trustworthy, NFAs will implement a social moderation component as well. “Watchers” will be able act as community stewards by independently validating that Access Points are redirecting to the proper NFA/Frontend content, and report when an Access Point is misbehaving. - -For user safety, we’re creating an extension to MetaMask snap that ensures that the domain you’re accessing points to the exact frontend content set by the NFA. Wallets who surface NFAs will also be able to surface Access Points to increase the amount of trusted access points for web3 app users. Goodbye sketchy phishing domains 🎣. - ---- - -## MVP Development Progress - -It’s official, **the NFA project now has a small team inside Fleek** dedicated towards pushing the project forward! 🥳 - -First item on the team’s list: figure out what needs to be done to have an NFA MVP done for April, package those stories & features up in a roadmap, and start executing. - -![NFA's MVP MVP Development Progress Details](https://storage.fleek.ooo/fleek-team-bucket/Blogs/nfas-mvp-waterfall.jpeg) - -The road to NFAs MVP mainnet consists of three main components that are actively being developed in parallel. - -### App UI - -While anyone will be able to interact with the NFA contract directly, we’re building an official frontend for minting NFAs from source, managing access controls to NFAs, and easily minting new NFA Access Points. - -### Contracts - -Alongside the first NFAs release, we dropped [NFA’s V0](https://github.com/fleekxyz/non-fungible-apps) which included a POC from which the NFAs contract could be hardened from. - -We’re currently working on extending the V0 contracts to include logic for new things such as community hosting, on-chain SVG storage for NFA preview images, and gas optimizations. - -Once solidified, we’ll bundle all of this up into [an EIP](https://eips.ethereum.org/) for maximum visibility & composability within the ecosystem, and then deploy the NFA contract to Polygon’s mainnet. - -### Fleek / Off-Chain - -To add some extra magic 🪄 to NFAs we’re spinning up a few off-chain components: - -- An NFAs subgraph via TheGraph protocol ([PR here](https://github.com/fleekxyz/non-fungible-apps/pull/72)) -- Build verification pipeline leveraging Fleek.xyz. -- DNS verification for Access Point validity. - -The subgraph will enable easy composition of NFA data (**say, for wallets looking to surface NFAs 👀**) and the build & DNS verification are key components to keeping NFAs honest. - -Build verification will leverage Fleek.xyz’s build pipeline to verify that the source code of the NFA matches the decentralized storage hash in the NFA’s metadata & give it a verified tag if true. - ---- - -## So, How Does Fleek.xyz Fit into the Picture? - -We are building the NFA contract with the Fleek.xyz platform in mind. We see the contract as a way for on-chain management of web3 apps and, with the users permission, integrations with outside services (such as build verification through Fleek.xyz). - -The Fleek.xyz team will also be spinning up an official NFA frontend for minting and managing your NFAs, available at **nfa.fleek.xyz** in April. - -In the future, **NFAs will be fully integrated into the Fleek.xyz platform**. For example, you will have the option to mint their site as an NFA during deployment. New pushes to your tracked github repo would get built & could automatically update your NFA’s metadata (& get propagated down to all access points mirroring your NFA) without you having to do a thing. - ---- - -That’s a wrap! If you’ve got any questions, want to start playing around with NFAs early, or want to contribute some code (we’re open source, ya know) hop over to [our Github](https://github.com/fleekxyz/non-fungible-apps0) or [our Discord](https://discord.gg/fleek)! - -Enjoyed brushing up on NFAs? You’ll love our other recent blogs: - -- [Introducing NFA’s: Non-Fungible Apps](https://blog.fleek.co/posts/introducing-nfas-non-fungible-apps) -- [Fleek CLI Beta Announcement (w/ IPFS Pinning)](https://blog.fleek.co/posts/release-ipfs-pinning-ipns-beta-fleek-xyz) - -For all other socials, docs, contact info, and more, checkout [our Linktree](https://linktr.ee/fleek) ⚡️ diff --git a/src/content/blog/Uncategorized/nfa-eip-interfaces/index.md b/src/content/blog/Uncategorized/nfa-eip-interfaces/index.md deleted file mode 100644 index ce1e12bf..00000000 --- a/src/content/blog/Uncategorized/nfa-eip-interfaces/index.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: 'Non-Fungible Apps (NFAs): EIP Interfaces & Development Progress' -date: 2023-03-20 -desc: 'An update on the development progress of NFAs, progress on our EIP Discussion, refined minting UI, and more!' -thumbnail: './main-nfa-biw.jpg' -image: './main-nfa-biw.jpg' ---- - -## TLDR; - -- EIP Discussion: Community input, three-phase approach, and modular implementation -- Improved mint UI interface, added recent mint listings -- Updated subgraph indexing and enabled playground functionality -- Established release timeline and began discussion on a few topics, including ENS verification - ---- - -## EIP Discussion: Interfaces & Call for Community Input - -In our [last update](https://blog.fleek.xyz/post/nfa-minting-flow-eip-kickoff/), we opened a discussion to build our EIP skeleton. Now, we’re furthering this initiative and we believe that community input is invaluable for the development and success of non-fungible applications as a standard at this point. We encourage you to participate in the discussion and share your insights [here](https://github.com/fleekxyz/non-fungible-apps/discussions/158)! - -To continue with the EIP initiative, we plan to fork the EIP repository and update it with initial interfaces, effectively transforming the ongoing discussions into a tangible Proof of Concept (PoC). To achieve this, we have devised a three-phase approach: - -- **Interfaces for sites, access points (APs), and verification**: Our primary focus in this phase is to establish ways to describe and access frontends, laying the first example of types and using sites as the example. -- **Extension framework and new types of integration with ERC1155**: Building on the groundwork laid in the first phase, we will work on integrating new features and functionalities, including the extension framework and exploring novel integration methods with the ERC1155 standard. -- **Multisig integration and contract types**: This is a longer-term outlook, and we are actively engaged in discussions to determine the most effective implementation strategies for multisig integration and diverse contract types. - -We aim to maintain a modular approach by continuing to split contract features into submodules to maintain a lean and clean core interface. This will ensure flexibility and granularity in implementation as well! Read and contribute in these discussions: - -- [NFA EIP Kick-off](https://github.com/fleekxyz/non-fungible-apps/discussions/158) -- [Refactor on App Struct](https://github.com/fleekxyz/non-fungible-apps/discussions/163) - ---- - -## NFA Check-In: Feature Updates & Discussions - - - -### NFA Minting UI - -In [Sprint 4](https://github.com/fleekxyz/non-fungible-apps/releases/tag/v0.0.4), we expanded upon the simple UI for listing minted NFAs, which features the following updates: - -- GitHub login failed dialogue box: We've added a notification for when GitHub login attempts fail. -- Updated repository and branch selection: We've improved the repository dropdown menu and added search functionality, as well as search functionality for GitHub branch selection. -- Verify NFA step: This feature allows us to initially verify sites are Fleek-deployed. -- Recent NFA Listings: The most recently minted NFA will now appear on the new listing screen with a link to its OpenSea page. Users will eventually be able to create access points (APs) from this view as well. - -Although our original roadmap placed the listing feature further down the road, we felt it was natural to include it in the current flow since the next hard part is to integrate Access Point creating and selecting that from a list of NFAs seemed like the correct flow. We've added a dummy version and will enhance its appearance closer to launch. - -### Subgraph - -We have implemented subgraph updates, allowing minted NFAs to be indexed with The Graph's playground. Users can select individual events, owners, tokens, and more with granularity in the graph playground. Some of the features include: - -- Refactor based on update to access control logic -- Cleaning up of unused entities and adding unit tests - -Give it a try for yourself [here](https://thegraph.com/hosted-service/subgraph/emperororokusaki/flk-test-subgraph)! - -### Ongoing Discussions on ENS Verification & Matchsticks Tests - -We are exploring ways to make our ENS verifications as decentralized and efficient as possible. We want to be able to verify the owner of an ENS domain throughout the lifecycle of an NFA. If someone transfers ownership of an ENS address, we need to be able to flag this and remove ENS verification from the connected NFA. - -In an effort to optimize our testing process, we have also explored the proposal of replacing matchstick tests with queries during this sprint. First brought forward by a member of the community, this is a proposal we have been exploring over the last few weeks. You can see, and contribute to, the discourse on [GitHub](https://github.com/fleekxyz/non-fungible-apps/discussions/168)! - -### Release Timeline - -As work on NFAs progresses, we have updated our timelines and milestones: - -- **Start of April**: We'll work on Polygon → ETH migration, creating APs, and implementing verifications. -- **April-May**: This period will be dedicated to audits and testing. -- **May-June**: We'll conduct final audits and polish our project before the official release. - -![](./nfa-roadmap-mar-20.png) - ---- - -We'll be back with another update in approximately two weeks to share more on our EIP progress and other developments. Stay tuned and we’ll see ya then 👋 - -If you would like to be involved with the product development side, just reach out on [Twitter](https://twitter.com/fleek_net) or [Discord](https://discord.gg/fleek)! - -For more resources visit our [LinkTree](https://linktr.ee/fleek) ⚡ diff --git a/src/content/blog/Uncategorized/nfa-eip-interfaces/main-nfa-biw.jpg b/src/content/blog/Uncategorized/nfa-eip-interfaces/main-nfa-biw.jpg deleted file mode 100644 index e0e551d2..00000000 Binary files a/src/content/blog/Uncategorized/nfa-eip-interfaces/main-nfa-biw.jpg and /dev/null differ diff --git a/src/content/blog/Uncategorized/nfa-eip-interfaces/nfa-roadmap-mar-20.png b/src/content/blog/Uncategorized/nfa-eip-interfaces/nfa-roadmap-mar-20.png deleted file mode 100644 index 55b3decb..00000000 Binary files a/src/content/blog/Uncategorized/nfa-eip-interfaces/nfa-roadmap-mar-20.png and /dev/null differ diff --git a/src/content/blog/Uncategorized/nfa-minting-flow-eip-kickoff/index.md b/src/content/blog/Uncategorized/nfa-minting-flow-eip-kickoff/index.md deleted file mode 100644 index bcdd69a1..00000000 --- a/src/content/blog/Uncategorized/nfa-minting-flow-eip-kickoff/index.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: 'Non-Fungible Apps (NFAs): Minting & EIP Kickoff' -date: 2023-03-03 -desc: 'Since our last NFA update, the team has finished Sprints 1, 2, and 3, is laying the foundation for our EIP proposal, and sharing the first demo of our minting flow experience for NFAs.' -thumbnail: './nfa-mint.png' -image: './nfa-mint.png' ---- - -**TL;DR** - -- We last spoke 2.5 sprints ago here so we want share what we’ve been working on -- Switched from Polygon Mumbai to Ethereum Mainnet for our MVP release -- We are targeting for a June/July MVP release -- EIP process kicked off internally with the goal of having a proposed strategy and skeleton, [opening a Github discussion for feedback.](https://github.com/fleekxyz/non-fungible-apps/discussions/158) -- Follow our development on Github - create an issue or discussion or PR - ---- - -![](./nfa-eip-github.png) - -Standardization, in the form of an **[Ethereum Improvement Proposal submission (EIP)](https://eips.ethereum.org/) and ERCs, is a major milestone for NFAs**. First and foremost though, we want to focus on building a useful new standard to web3, and aim for opening up the debate early to gather feedback from the ecosystem, and reach a widely-agreed on consensus on: - -- NFAs purpose and feature scope -- NFAs contract specifications -- NFAs core versus module/extension interfaces - -To prepare for this process we started drafting a **skeleton EIP proposal for Non-fungible applications**, with a breakdown of its specification, purpose, and a base proposed approach to this new standard. - -### **We’re excited to have opened the EIP discussion on Github, [join and contribute here!](https://github.com/fleekxyz/non-fungible-apps/discussions/158)** ⚡ - -We welcome all developers to contribute to this new proposed standard, and participate in the creation and submission of the EIP itself. What are the key discussion points we want to cover?: - -- The interface for the initial NFA type which is sites (frontends) -- For NFA specific attributes, should we use more on-chain attributes or create more URIs -- Should new types and submodules be new mappings to structs or interfaces and be more polymorphic - ---- - -## Sneak Peek: Minting Preview 👀 - - - -_Important: This is an in-development demo and does not represent the final look-and-feel or final functionality of the app._ - -**The first preview for our NFA minting UI is here, and if we do say so ourselves, it’s beautiful!** We've recently introduced some exciting customization options, ensuring that every NFA you create looks unique and fresh. From customized colors to personalized logos, you can tailor your NFAs exactly how you want them! Keep reading for an early preview of the Mint flow– we think you’ll like what you see 👀. - -- To mint an NFA users will need to: -- Connect ETH Wallet and GitHub account -- Select the repository being minted as an NFA -- Select the branch and Git commit -- Input fields for NFA metadata - - Name, Description, Logo, Colour, ENS Address (if applicable), DNS -- Finalize Details -- Mint NFA - -It’s that easy ⚡. Through the ConnectKit integration we did in Sprint 3, we plan to expand wallet support past the current providers (Metamask, Coinbase, etc.), and expand support to more EVM wallets. - ---- - -## NFA Check-in: Roadmap and Development Progress - -In our last NFA development [update](https://blog.fleek.xyz/post/nfa-community-hosting/), we were about halfway through Sprint 1– we’re now wrapping up [sprint 3](https://github.com/fleekxyz/non-fungible-apps/releases/tag/v0.0.3) and have lots to get you caught up on. - -![](./roadmap-march.png) - -We’ve not only made upgrades across the entire stack over the last two sprints, but we’ve also made some **fundamental (but exciting) changes to our architecture.** - -Primarily, we’ve made the decision to **transition from using Polygon Mumbai to Ethereum Mainnet for the release of our MVP**. The move to Ethereum mainnet will open up the door to a variety of different features that may not have been possible before, one example being integration with on-chain ENS! - -The team is in progress on refactoring the work we’ve done to deploy on Polygon, to ready it for our deployment on Ethereum mainnet. We’re still exploring ways to optimize gas costs during the mint flow, and are open to any suggestions from community members on our processes! - -**New NFA MVP Release Plan ⚡:** - -- June/July Ethereum Mainnet release pending audit successfully completing -- Anyone can mint, some partners will be verified, Fleek users with an Ethereum address configured will have access to verification. -- Verifications to minting contract to introduce anti-fishing & anti-spam fail safes during MVP release -- Gather feedback and start iterating -- Fleek verification will be included in the release but we do have longer term vision on more types of verifications and hardening post MVP - -Through Sprints 2-3 the team put a focus on getting our contracts features added, and testing started, to ensure they’re hardened and ready for our MVP release. **Features like Access Point (AP) and Proxy have been added**, as well as the above mentioned optional/configurable payment system to mitigate phishing and spam during the first phase of our release. - -**A lot of work was also done on our Subgraph integration, giving us even more flexibility in how we index and surface data** from our contracts. What does that entail? Well, we’ve added a reverse GitHub token lookup to allow us to **confirm whether or not a repo has previously been minted as an NFA**. As well as refactor our access control so that we clean unnecessary roles and also update to use custom errors across the board instead of strings. - -**In the coming sprints, we plan put a focus on:** - -- View pages -- Verifications -- Community access points -- ENS Integration - -For more information on community hosting through access points, check out our [last NFA update](https://blog.fleek.co/posts/nfa-community-hosting)– or contribute to the conversation yourself in our [GitHub](https://github.com/fleekxyz/non-fungible-apps)! - ---- - -## Get Involved: Become an NFA Contributor - -That's all for this day! Now we invite you to help shape up NFAs. As a team we’ve gained some critical mass in terms of NFA development momentum and **would love to invite the community to engage with us more.** - -As an open-source project, we believe it's important to have forums and avenues for the community to submit feedback after trying it themselves. To get involved, check out our [GitHub](https://github.com/fleekxyz/non-fungible-apps): - -- [Discussions](https://github.com/fleekxyz/non-fungible-apps/discussions) -- [Issues](https://github.com/fleekxyz/non-fungible-apps/issues) -- [PRs](https://github.com/fleekxyz/non-fungible-apps/pulls) -- [Releases/Sprints](https://github.com/fleekxyz/non-fungible-apps/releases/) - -And start making contributions! We’re excited to see the debate spark up in our EIP discussions. - -If you would like to be involved with the product development side, just reach out on [Twitter](https://twitter.com/fleek) or [Discord](https://discord.gg/fleek) and we can add you to our Shortcut project. We can’t wait to start seeing more community members get involved with what we’re building in NFAs! - -For more resources visit our [LinkTree](https://linktr.ee/fleek). diff --git a/src/content/blog/Uncategorized/nfa-minting-flow-eip-kickoff/nfa-eip-github.png b/src/content/blog/Uncategorized/nfa-minting-flow-eip-kickoff/nfa-eip-github.png deleted file mode 100644 index 3a0b386d..00000000 Binary files a/src/content/blog/Uncategorized/nfa-minting-flow-eip-kickoff/nfa-eip-github.png and /dev/null differ diff --git a/src/content/blog/Uncategorized/nfa-minting-flow-eip-kickoff/nfa-mint.png b/src/content/blog/Uncategorized/nfa-minting-flow-eip-kickoff/nfa-mint.png deleted file mode 100644 index bc8ee959..00000000 Binary files a/src/content/blog/Uncategorized/nfa-minting-flow-eip-kickoff/nfa-mint.png and /dev/null differ diff --git a/src/content/blog/Uncategorized/nfa-minting-flow-eip-kickoff/roadmap-march.png b/src/content/blog/Uncategorized/nfa-minting-flow-eip-kickoff/roadmap-march.png deleted file mode 100644 index 43362af1..00000000 Binary files a/src/content/blog/Uncategorized/nfa-minting-flow-eip-kickoff/roadmap-march.png and /dev/null differ diff --git a/src/content/blog/Uncategorized/nfa-update-details-and-testnet/index.md b/src/content/blog/Uncategorized/nfa-update-details-and-testnet/index.md deleted file mode 100644 index 07d9ed0d..00000000 --- a/src/content/blog/Uncategorized/nfa-update-details-and-testnet/index.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: 'Non-Fungible Apps (NFA): Details Page & MVP Scoping' -date: 2023-05-04 -desc: 'Get caught up on our Non-Fungible Application development progress, with highlights on the new Details Page, Verification Integrations, and MVP Release Scoping!' -thumbnail: './nfa-update-details-page.jpeg' -image: './nfa-update-details-page.jpeg' -author: - - 'Fleek' ---- - -Time for another NFA update! - -As we continue to make progress in our Non-Fungible App (NFA) development, we want to update our community about specific milestones and features they should be excited for. - -Specifically, we are in the midst of discussions to define the minimum viable product (MVP) scope. In parallel, we are finishing the incorporation of new user homepage functionalities, like the new details pages, to enhance the overall experience surrounding NFAs. - -Let’s get into some details on each of these, and more: - ---- - -### Detail Page: Initial Version Completed - -The initial version of the detail page has been completed, although its integration has been temporarily paused to accommodate new design elements. This update will require modifications to our GraphQL implementation. You can see the first implementation of the Details Page below but keep in mind, with some UI changes anticipated, **this is not the final version:** - - - -You can find the PR of the initial Details Page [here](https://github.com/fleekxyz/non-fungible-apps/releases/tag/v0.0.7). - -### Verification Integrations & QA Environment - -The database layer for verification integrations has been set up, and we are currently working on connecting it to the appropriate handlers. Our next step involves deploying the verification integrations to the AWS development environment. - -We are also in the process of setting up an AWS server for the Ethereum node in the QA environment. As discussions regarding the MVP scope progress, we will be updating the QA documentation accordingly. - -### Testnet Release for v1: MVP Scoping - -On the topic of MVP scoping, progress is moving steadily toward release! - -In terms of remaining work for the MVP release, the team is in progress on the above-mentioned Details Page, integrating Fleek and ENS verifications, as well as polishing the minting, creating access points, exploration, and detail page functionalities. - -This is the version currently in scope without user home page-type features. As we approach release, we are having key discussions to address some specific improvements, such as: - -- Making access points more like prints that anyone can make from NFAs and optionally add a custom domain -- Surface these prints in wallets so any user not just protocol owners can have them in their wallet to access -- Access the app via the NFA and ideally have them run locally - -All of the above will be included in a public beta release once the testing on testnet and feedback is in. These are all discussions the team continues to have daily, and are open to community input on any of the above! Hop into our [Discord](https://discord.gg/fleek) server, or open a discussion post in our [GitHub](https://github.com/fleekxyz/non-fungible-apps), to contribute. - ---- - -That’s all for this week! - -May is an exciting month for the NFA team as we move closer and closer to the official testnet release. Stay tuned for more information on how to participate soon. - -For the most up to date information, and to contribute to discussions and conversations surrounding the project, star our [GitHub](https://github.com/fleekxyz/non-fungible-apps) repository and follow along! - -For more Fleek resources and information, please visit our [LinkTree](https://linktr.ee/fleek)! diff --git a/src/content/blog/Uncategorized/nfa-update-details-and-testnet/nfa-update-details-page.jpeg b/src/content/blog/Uncategorized/nfa-update-details-and-testnet/nfa-update-details-page.jpeg deleted file mode 100644 index 5f2755a0..00000000 Binary files a/src/content/blog/Uncategorized/nfa-update-details-and-testnet/nfa-update-details-page.jpeg and /dev/null differ diff --git a/src/content/blog/Uncategorized/nfa-update-ens-layerzero-3dns/index.md b/src/content/blog/Uncategorized/nfa-update-ens-layerzero-3dns/index.md deleted file mode 100644 index 0a044db8..00000000 --- a/src/content/blog/Uncategorized/nfa-update-ens-layerzero-3dns/index.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: 'NFA Update: ENS, LayerZero, 3DNS' -date: 2023-08-29 -desc: 'An update on the new NFA release timeline, and a look at our updated ENS, LayerZero, and 3DNS-based design' -thumbnail: './nfa-update-aug-29-thumb.png' -image: './nfa-update-aug-29-thumb.png' -author: - - 'Fleek' ---- - -We have some good news and bad news for y’all in relation to the release of [Non-Fungible Applications (NFAs)](https://github.com/fleekxyz/non-fungible-apps). First, the bad news: As we gear up for the Fleek platform Alpha, rolling out over the next week, we've made a decision to delay the launch of NFAs slightly. Why? **We didn’t feel that the last iteration of NFAs was going to deliver good enough value for app developers and end users, and we believe there's a better path forward.** - -What does the new path look like? Here’s the good news: - -- **We’re now building NFAs on top of [ENS](https://ens.domains/) names (rather than having a separate NFT).** -- **The new NFA’s also leverage the omni-chain capabilities of [LayerZero](https://layerzero.network/) open-edition NFTs.** -- **As well as verifiable DNS records through [3DNS](https://3dns.box/).** -- **Making NFAs simpler, more usable, easier to verify & integrate, and multichain.** - -So now, any web3 project already using ENS can easily turn on NFA capabilities. And if they already use Fleek, it will be as simple as a click of a button ⚡ - -Expect a first version to launch in late September or October (depending on some external timelines out of our control). We promise it will be worth the (extra) wait. Now let’s dive in a bit deeper. - ---- - -## NFAs Revamped: Leveraging ENS, LayerZero, and 3DNS - -Our revamped strategy is super simple: - -1. **Use ENS name NFTs as the master NFAs rather than creating a separate NFT.** -2. **Store the metadata for builds and modules as text records directly in the ENS name** -3. **Verifying the DNS associated with the app via 3DNS (and having the ENS name NFT own the 3DNS NFT for that domain via ERC6551)**. -4. **Mint the NFA prints (the one's users mint/hold) using LayerZero’s open-edition omni-chain NFTs, allowing users to hold them on any LayerZero-supported network.** - ---- - -## Why The Switch to ENS? - -Using ENS is a no-brainer because: - -1. It streamlines the NFA creation process for a lot of projects by using an existing NFT (ENS name) that they essentially already use to represent their app. -2. By using ENS, **we can eliminate the necessity and complexity of creating new contracts/standards,** which require expensive audits, upkeep, and new trust assumptions. -3. ENS already has built-in features for **IPFS/IPNS,** as well as a ton of integrations to wallets and other projects that might play an important role in surfacing, accessing, and minting NFA’s (similar to the role they play with other NFTs or ENS names). -4. It simplifies the NFA architecture and helps eliminate certain aspects of it, such as verification of ENS owners (bc now the ENS name NFT is the owner, so it’s auto-verified) - -**How**: We're using ENS name NFTs as the master NFAs, saving each NFA’s build metadata and modules in the corresponding ENS name as text records that point to IPFS/IPNS hashes, just like we do for the IPFS sites themselves today. - -## Why LayerZero? - -Bringing in LayerZero for the NFA prints takes things to another (omnichain) level: - -1. **Prints aren’t restricted to living on just one network** -2. **Prints can live on a different network than the master NFA (the ENS name)** -3. **Even with being on different chains, the print NFA’s always verifiably read from the master NFA (the ENS name)** -4. **Users can mint print NFA’s super cheap or even free, even with having the ENS name on Ethereum.** - -**How**: LayerZero will act as our multi-chain connector, making sure prints are versatile and accessible across supported networks. Each print will have its metadata tied to its main ENS name’s token ID. Developers will be able to choose which chains their NFAs are available for users to mint from. Similar to [holographic](https://www.holograph.xyz/) NFTs, but we would deploy print contracts on each Layer-Zero-compatible chain, with the appropriate NFA data. - -## Why 3DNS? - -[3DNS](https://3dns.box/) is a new and exciting project that helps take NFAs (and decentralized frontend hosting as a whole) even further: - -1. With **3DNS we can ensure verifiable DNS records and updates on NFAs.** -2. It's already compatible with ENS and adds a new dimension to DNS records– turning them into NFTs that the ENS name can own via erc6551 (token-bound accounts). -3. All updates to the DNS records associated with the domain happen on chain, and can only be changed by the owner of the domain NFT (which in this case would be the ENS name) -4. Forcing DNS record changes on-chain provides better security to end users by reducing chances of a hack/malicious updates resulting in loss of funds - -**How**: 3DNS, compatible with Internet Corporation for Assigned Names and Numbers ([ICANN](https://www.icann.org/)), will operate as the on-chain name server. This will bring ENS-type benefits to DNS names, while still providing the traditional DNS benefits (ICANN compatible, works natively in all browsers, etc.). - ---- - -## [Bonus] Can PWA’s Fit In With NFA’s? - -Yes definitely. With [friend.tech](http://friend.tech/) and the current issues plaguing web3 apps in traditional app stores (ex. Apple), the recent resurgence in PWA’s is definitely worth paying attention to. And we think there could be a lot of synergies between PWA’s and NFA’s. Any PWA could be an NFA, and any NFA could become a PWA. You could now potentially imagine a future where there is a decentralized, permissionless app store (which could be built on top of the NFA collection), where you could discover and mint/install ‘apps’ on your phone home screen or in a wallet, but where the app is hosted/loaded on-chain and accessed with no central operator. Def a lot to still explore and figure out, but the future looks bright (and decentralized) 🤙. - ---- - -And that’s about all for this update! We just wanted to be transparent on why NFAs won’t be introduced with the new platform initially, and give everyone a heads-up on where development is currently. We’re super excited about the new direction NFAs are headed and can’t wait to roll out the finished product. - -If you have any questions about NFAs, the new ENS-oriented approach with LayerZero + 3DNS, or anything else related to the new Fleek platform, our team is always open to chat in our [Discord](http://discord.gg/fleek) server. - -Follow along with the release of the new Fleek.xyz platform [here](https://twitter.com/fleek)! diff --git a/src/content/blog/Uncategorized/nfa-update-ens-layerzero-3dns/nfa-update-aug-29-thumb.png b/src/content/blog/Uncategorized/nfa-update-ens-layerzero-3dns/nfa-update-aug-29-thumb.png deleted file mode 100644 index 3a1142a9..00000000 Binary files a/src/content/blog/Uncategorized/nfa-update-ens-layerzero-3dns/nfa-update-aug-29-thumb.png and /dev/null differ diff --git a/src/content/blog/Uncategorized/nfa-update-ens-link-ap-flow/index.md b/src/content/blog/Uncategorized/nfa-update-ens-link-ap-flow/index.md deleted file mode 100644 index 548ee873..00000000 --- a/src/content/blog/Uncategorized/nfa-update-ens-link-ap-flow/index.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: 'NFAs: ENS Link and Access Points' -date: 2023-03-30 -desc: 'Take a dive into the latest from the NFA team, including looks at our ENS integration and Access Point creation' -thumbnail: './nfa-ens.jpg' -image: './nfa-ens.jpg' ---- - -## TLDR;  - -- Sprint 5 completed, focusing on Access Point creation flow, ENS integration, and contract hardening. -- Initial Access Point creation flow has been implemented as well as mint flow refinements, with a few final tweaks needed. -- ENS integration and verification complete, working to optimize gas costs. -- Successfully deployed developer environment on Goerli testnet, aiming to the subgraph and UI updated to use Goerli in next sprint -- Sprint 6 will concentrate on finalizing the Access Point creation flow, contract hardening, gas optimization, and ENS integration wrap-up, as well as off-chain verifications by Fleek - ---- - -## Sprint 5 Update: AP Creation, ENS Integration, Migration - -### Simple initial Access Point (AP) Creation Flow & Mint Flow Updates - -Through Sprint 5, the team put a focus on creating the initial integration logic and basic UI for the Access Point creation flow. Although there are still a few tweaks needed based on the in-progress final design, **we've managed to create a functional initial flow for Access Point creation**. Users can easily create Access Points from either the new explore view (for a specific NFA on the page) or through the create tab (search for a specific NFA). - -Note that the off-chain component for the AP creation still needs to be completed, which will map a custom domain to the content of the underlying NFA. - - - -We've also made **a few UI changes to the mint & explore flows since the last bi-weekly update**. In addition to the _Explore_ page, listing recently minted NFAs, we've added _Create_ and _Learn_ tabs.  The Create tab now allows users to mint an NFA or Access Point, while the Learn page will be home to resources explaining everything you need to know to mint an NFA or access point (or both!). - -Additionally, we've updated the Mint Flow adding validations for required fields like logo, name, and repo ensuring users input the necessary information to mint their NFA. - ---- - -### Contracts: ENS Integration and Fleek Verifications - -We've revamped the AWS stack, finally enabling us to build off-chain verification services. **Rather than completely relying on a boilerplate, this sprint we chose to rebuild from the ground up, leveraging some of the boilerplate services**. This approach allows us to better understand the code and create custom features necessary to verify NFA contract info and metadata. - -A crucial aspect of the minting contract is ENS verification, which allows us to confirm that the person minting the NFA actually owns the ENS name they set as the NFA domain. We need to validate and be able to verify this on both the front end and the contract side. **Currently, with the initial ENS verification complete, we're exploring ways to optimize gas costs**. You can dive into the PR and see exactly how we're doing this process on our open-source [GitHub repo](https://www.google.com/url?q=https://github.com/fleekxyz/non-fungible-apps/pull/193&sa=D&source=docs&ust=1680120274691969&usg=AOvVaw2nxZSCws_Liao-3SK4k-0L)! - -As we are using an upgradeable proxy pattern for the contracts, the team also [implemented](https://github.com/fleekxyz/non-fungible-apps/pull/194) a safeguard to prevent direct calls to the underlying implementation contract. To solve this, the implementation contracts will be deployed in a "paused" state, and a constructor changes the state when a call is made through the proxy. - ---- - -### Ethereum Mainnet Transition - -Finally, this sprint marked a major milestone on our journey to Ethereum Mainnet-- successful first deployment of the developer environment on the Goerli testnet! - -It's our long-term goal to support any and all EVM chains, and this is a big first step. By the next bi-weekly update, we anticipate having our app fully working on the Goerli testnet. To do this, we still need to deploy the subgraphs on the testnet and tackle a few other tasks. **Expect to see a working app on the Goerli testnet in the next NFA update**! - -Dive into the technicals yourself: - -- [Implementation Contract](https://goerli.etherscan.io/address/0x03fBB4F0D28f27c33b99F1b80aF679F20cb5E159#code) -- [Proxy Contract](https://goerli.etherscan.io/address/0x8795608346eb475e42e69f1281008aeaa522479d#code) -- [Deployment PR](https://github.com/fleekxyz/non-fungible-apps/pull/195) - ---- - -## What's Next? - -That's all for this week 👋 - -In Sprint 6, we'll prioritize **finalizing the Access Point creation flow and do some contract hardening & gas optimization**. With the initial features on the contract side now complete, we're focusing on optimizing our product for audits and release. We also plan to wrap up our ENS integration and have a working app on the Goerli testnet. - -Finally, we plan to pick up the [EIP framework](https://github.com/fleekxyz/non-fungible-apps/discussions/158) again and prep that for submission. We're still open to any community feedback, so dive into the framework on GitHub and let us know what you think! - -Stay tuned for our next bi-weekly update, where we'll cover all of the above and give a little hint at what's to come next! - -For more resources visit our [LinkTree](https://linktr.ee/fleek). diff --git a/src/content/blog/Uncategorized/nfa-update-ens-link-ap-flow/nfa-ens.jpg b/src/content/blog/Uncategorized/nfa-update-ens-link-ap-flow/nfa-ens.jpg deleted file mode 100644 index ae8cc285..00000000 Binary files a/src/content/blog/Uncategorized/nfa-update-ens-link-ap-flow/nfa-ens.jpg and /dev/null differ