From ad12c0657d8366003063432a3bb992e69030a26d Mon Sep 17 00:00:00 2001 From: Tang Bo Hao Date: Tue, 31 Oct 2023 15:59:10 +0800 Subject: [PATCH 1/3] docs: update communtity resources - add quicknode articles - fix some links in projects - add Flowdiver historical API to projects - re-order wallets, prioritize frw. - add LearnWeb3 Flow Faucet --- docs/community-resources/faucets.md | 8 +++++++ docs/community-resources/projects.mdx | 26 ++++++++++++++++++----- docs/community-resources/wallets.md | 24 ++++++++++----------- src/data/articles/index.ts | 30 +++++++++++++++++++++++++++ src/data/pages/learn.ts | 6 ++++++ 5 files changed, 77 insertions(+), 17 deletions(-) diff --git a/docs/community-resources/faucets.md b/docs/community-resources/faucets.md index 828e46e816..77ffdbda8a 100644 --- a/docs/community-resources/faucets.md +++ b/docs/community-resources/faucets.md @@ -19,4 +19,12 @@ Network Faucets provide free Flow tokens for testing purposes, functioning like - Testnet: [https://testnet-faucet.onflow.org/](https://testnet-faucet.onflow.org/) +## LearnWeb3 Flow Faucet + +[LearnWeb3 Flow Faucet](https://learnweb3.io/faucets/flow) is a community faucet tool that provides a seamless way to acquire small amounts of Flow tokens for testing and development purposes on the Flow blockchain's testnet environment. + +### Supported Networks + +- Testnet: [https://learnweb3.io/faucets/flow](https://learnweb3.io/faucets/flow) + diff --git a/docs/community-resources/projects.mdx b/docs/community-resources/projects.mdx index 086a859553..3460336fab 100644 --- a/docs/community-resources/projects.mdx +++ b/docs/community-resources/projects.mdx @@ -38,8 +38,8 @@ Explore an array of exciting, grassroots initiatives, and projects that thrive w profileImage: 'https://pbs.twimg.com/profile_images/1687225095557632005/tUCmv8_P_400x400.jpg', }, - twitterLink: 'https://twitter.com/emerald_dao?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor', - githubLink: 'https://github.com/onflow', + twitterLink: 'https://twitter.com/emerald_dao', + githubLink: 'https://github.com/emerald-dao', } }, { @@ -55,7 +55,7 @@ Explore an array of exciting, grassroots initiatives, and projects that thrive w 'https://pbs.twimg.com/profile_images/1687225095557632005/tUCmv8_P_400x400.jpg', }, numStars: 0, - twitterLink: 'https://twitter.com/emerald_dao?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor', + twitterLink: 'https://twitter.com/emerald_dao', githubLink: 'https://github.com/emerald-dao/float', } }, @@ -73,7 +73,7 @@ Explore an array of exciting, grassroots initiatives, and projects that thrive w }, numStars: 0, twitterLink: 'https://twitter.com/flow_blockchain', - githubLink: 'https://github.com/emerald-dao/float', + githubLink: 'https://github.com/onflow', } }, { @@ -90,7 +90,6 @@ Explore an array of exciting, grassroots initiatives, and projects that thrive w }, numStars: 0, twitterLink: 'https://twitter.com/flow_blockchain', - githubLink: 'https://github.com/onflow', } }, { @@ -192,4 +191,21 @@ Explore an array of exciting, grassroots initiatives, and projects that thrive w githubLink: 'https://github.com/bjartek/overflow' } }, + { + type: 'link', + label: 'Flowdiver historical API', + href: 'https://findonflow.github.io/findlabs-api/', + description: 'It is an Api to allow users to fetch historical data of Flow blockchain from the findlabs database.', + customProps: { + icon: '', + author: { + name: 'https://github.com/findonflow', + profileImage: + 'https://avatars.githubusercontent.com/u/92926233?s=200&v=4', + }, + discordLink: 'htts://discord.gg/findonflow', + twitterLink: 'https://twitter.com/FindOnFlow', + githubLink: 'https://github.com/findonflow/findlabs-api' + } + } ]} /> diff --git a/docs/community-resources/wallets.md b/docs/community-resources/wallets.md index 81bc9e96ac..aee673d494 100644 --- a/docs/community-resources/wallets.md +++ b/docs/community-resources/wallets.md @@ -11,17 +11,11 @@ Store, manage, and interact securely with Flow tokens and digital assets on the
-## Magic.link - -[Magic](https://magic.link/) is a developer SDK that integrates with your application to enable passwordless Web3 onboarding (no seed phrases) and authentication using magic links (similar to Slack and Medium). +## Flow Reference wallet -https://magic.link/ - -## Niftory - -[Niftory](https://niftory.com/) is a platform to create, mint, and transfer NFTs. +[Flow Reference Wallet](https://frw.gitbook.io/) is the first extension wallet on Flow. -https://niftory.com/ +https://frw.gitbook.io/ ## Blocto @@ -47,11 +41,17 @@ https://www.ledger.com/ https://nu.fi/ -## Flow Reference wallet +## Magic.link -[Flow Reference Wallet](https://frw.gitbook.io/) is the first extension wallet on Flow. +[Magic](https://magic.link/) is a developer SDK that integrates with your application to enable passwordless Web3 onboarding (no seed phrases) and authentication using magic links (similar to Slack and Medium). -https://frw.gitbook.io/ +https://magic.link/ + +## Niftory + +[Niftory](https://niftory.com/) is a platform to create, mint, and transfer NFTs. + +https://niftory.com/ ## Finoa diff --git a/src/data/articles/index.ts b/src/data/articles/index.ts index 26a1a5dc5a..1514a665f1 100644 --- a/src/data/articles/index.ts +++ b/src/data/articles/index.ts @@ -175,3 +175,33 @@ export const accessControlCadence: TutorialCardProps = { imageUri: 'https://miro.medium.com/max/694/1*M7p33-EGZPFdKcX7oR6mDg.jpeg', lastUpdated: '18/02/2021', }; + +export const quicknodeAccountAbstraction: TutorialCardProps = { + heading: 'Account Abstraction on the Flow Blockchain', + tags: ['article', 'architecture', 'intermediate'], + description: `In this guide, you will learn more about Account Abstraction, what it aims to solve, how it works on Flow, covering concepts like the Flow Account Model, account linking, and then comparing it to how it works on Ethereum.`, + link: 'https://www.quicknode.com/guides/other-chains/flow/account-abstraction-on-flow', + imageUri: + 'https://www.quicknode.com/guides/assets/images/account-07d19a771bde1467e9b81a71112250c0.png', + lastUpdated: '20/10/2023', +}; + +export const quicknodeCreateNFTCollection: TutorialCardProps = { + heading: 'How to Create an NFT Collection dApp On Flow', + tags: ['article', 'nft', 'cadence'], + description: `In this guide, you will learn about Flow. Here, you will discover how to create an NFT collection and build a frontend using Cadence, Flow CLI, and NextJS.`, + link: 'https://www.quicknode.com/guides/other-chains/flow/how-to-create-an-nft-collection-on-flow', + imageUri: + 'https://www.quicknode.com/guides/assets/images/homepage-d7ba5e1ce66c4876cbf41b9b451d77ac.png', + lastUpdated: '28/09/2023', +}; + +export const quicknodeDeploySmartContract: TutorialCardProps = { + heading: 'How to Create and Deploy a Smart Contract with Cadence on Flow', + tags: ['article', 'cadence', 'beginner'], + description: `In this guide, you'll discover how to create a HelloWorld smart contract and interact with it using Flow's intuitive programming language, Cadence, and the robust tools QuickNode and Flow CLI.`, + link: 'https://www.quicknode.com/guides/other-chains/flow/how-to-create-and-deploy-a-smart-contract-with-cadence-on-flow', + imageUri: + 'https://www.quicknode.com/guides/assets/images/2-f540c4ccfb670c19ba9dd4d3a20355ba.png', + lastUpdated: '18/08/2023', +}; diff --git a/src/data/pages/learn.ts b/src/data/pages/learn.ts index 778f0edfa5..2be446fc6b 100644 --- a/src/data/pages/learn.ts +++ b/src/data/pages/learn.ts @@ -19,6 +19,9 @@ import { redSquirrelGetStartedArticle, revolutionizeSmartContractProgramming, zeroToJacobFlow, + quicknodeCreateNFTCollection, + quicknodeAccountAbstraction, + quicknodeDeploySmartContract, } from '../../data/articles'; import { type VideoCardErrorProps } from '@site/src/ui/design-system/src/lib/Components/VideoCard/VideoCardError'; export interface LargeVideoCardProps { @@ -33,6 +36,7 @@ export interface SmallVideoCardProps extends LargeVideoCardProps { } export const cadenceTutorials: TutorialCardProps[] = [ + quicknodeDeploySmartContract, cadenceAtAGlance, playgroundTutorials, organizingCadenceTutorial, @@ -45,6 +49,7 @@ export const cadenceTutorials: TutorialCardProps[] = [ ]; export const nftTutorials: TutorialCardProps[] = [ + quicknodeCreateNFTCollection, NBATopShotExample, redSquirrelGetStartedArticle, flowNFTPetStore, @@ -52,6 +57,7 @@ export const nftTutorials: TutorialCardProps[] = [ ]; export const architectureTutorials: TutorialCardProps[] = [ + quicknodeAccountAbstraction, introToFlow, flowMultiNodeArchitecture, getTheFlowDown, From 8b791cd0dd3dc8a2ce81c42d765e63627c727183 Mon Sep 17 00:00:00 2001 From: Tang Bo Hao Date: Tue, 31 Oct 2023 18:00:07 +0800 Subject: [PATCH 2/3] docs: add quicknode's AA article on Solidity-to-Cadence page --- docs/cadence/solidity-to-cadence.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/cadence/solidity-to-cadence.md b/docs/cadence/solidity-to-cadence.md index 82749ea411..fe3c2252fd 100644 --- a/docs/cadence/solidity-to-cadence.md +++ b/docs/cadence/solidity-to-cadence.md @@ -498,5 +498,6 @@ or as ## Additional resources -* Cadence or Solidity: [On-Chain Token Transfer Deep Dive](https://flow.com/engineering-blogs/flow-blockchain-programming-language-smart-contract-cadence-solidity-comparison-ethereum) -* Implementing the [Bored Ape Yacht Club](https://flow.com/post/implementing-the-bored-ape-yacht-club-smart-contract-in-cadence) smart contract in Cadence \ No newline at end of file +- Cadence or Solidity: [On-Chain Token Transfer Deep Dive](https://flow.com/engineering-blogs/flow-blockchain-programming-language-smart-contract-cadence-solidity-comparison-ethereum) +- Implementing the [Bored Ape Yacht Club](https://flow.com/post/implementing-the-bored-ape-yacht-club-smart-contract-in-cadence) smart contract in Cadence +- Quicknode's Account Abstraction on the Flow Blockchain: [Comparing AA on Ethereum vs Flow](https://www.quicknode.com/guides/other-chains/flow/account-abstraction-on-flow#account-abstraction-on-ethereum-vs-flow) From 0bfd6fd10de3a6328a5c477b5643eebe981d68c8 Mon Sep 17 00:00:00 2001 From: Tang Bo Hao Date: Sat, 4 Nov 2023 23:26:46 +0800 Subject: [PATCH 3/3] chore: remove learn.ts, update ignore --- .gitignore | 2 + src/data/pages/learn.ts | 98 ----------------------------------------- 2 files changed, 2 insertions(+), 98 deletions(-) delete mode 100644 src/data/pages/learn.ts diff --git a/.gitignore b/.gitignore index d03028c2ff..7dd85aff98 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,8 @@ npm-debug.log* yarn-debug.log* yarn-error.log* +.yarn +.yarnrc.yml /.vscode /temp diff --git a/src/data/pages/learn.ts b/src/data/pages/learn.ts deleted file mode 100644 index 2be446fc6b..0000000000 --- a/src/data/pages/learn.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { type TutorialCardProps } from '../../ui/design-system/src/lib/Components/TutorialCard'; -import { - accessControlCadence, - cadenceAtAGlance, - playgroundTutorials, - FCLQuickstartNextJs, - FCLQuickstartNuxtJs, - FCLQuickstartSvelteKit, - firstStepsWithCadence, - flowMetaDataStandard, - flowMultiNodeArchitecture, - flowNFTPetStore, - getTheFlowDown, - guideToFlowForEthereumUsers, - introToFlow, - learnCadenceVideoSeries, - NBATopShotExample, - organizingCadenceTutorial, - redSquirrelGetStartedArticle, - revolutionizeSmartContractProgramming, - zeroToJacobFlow, - quicknodeCreateNFTCollection, - quicknodeAccountAbstraction, - quicknodeDeploySmartContract, -} from '../../data/articles'; -import { type VideoCardErrorProps } from '@site/src/ui/design-system/src/lib/Components/VideoCard/VideoCardError'; -export interface LargeVideoCardProps { - link: string; // NOTE: link should be in the format that youtubes site uses ie: https://www.youtube.com/watch?v=... - title: string; - length: number; // seconds - className?: string; - errorBehavior?: VideoCardErrorProps['behavior']; -} -export interface SmallVideoCardProps extends LargeVideoCardProps { - tags: string[]; -} - -export const cadenceTutorials: TutorialCardProps[] = [ - quicknodeDeploySmartContract, - cadenceAtAGlance, - playgroundTutorials, - organizingCadenceTutorial, - learnCadenceVideoSeries, - zeroToJacobFlow, - firstStepsWithCadence, - FCLQuickstartNextJs, - FCLQuickstartNuxtJs, - FCLQuickstartSvelteKit, -]; - -export const nftTutorials: TutorialCardProps[] = [ - quicknodeCreateNFTCollection, - NBATopShotExample, - redSquirrelGetStartedArticle, - flowNFTPetStore, - flowMetaDataStandard, -]; - -export const architectureTutorials: TutorialCardProps[] = [ - quicknodeAccountAbstraction, - introToFlow, - flowMultiNodeArchitecture, - getTheFlowDown, - guideToFlowForEthereumUsers, - revolutionizeSmartContractProgramming, - accessControlCadence, -]; - -export const videos: { - primary: LargeVideoCardProps; - secondary: SmallVideoCardProps[]; -} = { - primary: { - link: 'https://www.youtube.com/watch?v=pRz7EzrWchs', - title: 'Learn Cadence - Hello World on Flow', - length: 1396, - }, - secondary: [ - { - link: 'https://www.youtube.com/watch?v=DInibYmxUsc', - title: 'Fungible Token Smart Contracts on Flow', - length: 1993, - tags: ['Guide'], - }, - { - link: 'https://www.youtube.com/watch?v=uEoh9SnjqCk', - title: 'How to build a basic web3 app on Flow', - length: 1878, - tags: ['Guide'], - }, - ], -}; - -export const allTutorials: TutorialCardProps[] = [ - ...nftTutorials, - ...cadenceTutorials, - ...architectureTutorials, -];