Files
web/apps/base-docs/tutorials/data.json
Eric Brown cecbd879f9 Add Quickstart Guide to docs.base.org/docs (#998)
* Create quickstart guide

* Complete first draft of quick start guide

* Edit tutorial doc details

* Fix typos and ensure consistent styles

* Update the Why Base? tool tip

* fix emoji encoding (#996)

* Basename: Fix analytics events (#997)

* remove page events in favor of pageview

* fix invalid logging

* fixed env var references (#1003)

* updated bg and image for gs hero (#1001)

* Update Irys Dyanmic NFT example to use the latest version of Irys's tooling (#1000)

* Fix typos and demo code in docs (#995)

* Fix demo code in useWriteContract docs

* Fix typos

* Fix demo code

* Fix import path

* Correction of typos (#992)

* error-triage.md

Correction

* hardhat-verify-sbs.md

Correction

* data.json

Correction

* 5_cross-chain-with-layerzero.md

Correction

* feat: embedded farcaster frames (#762)

* initial draft of frame render

* render frames from text records

* fix build, https instead of * csp

* undo changes to base-docs

* no-verify repeat

* add xmtp signer

* fix build issue and add frame prompt element

* Extract TryNowHero component

* add second add-frame button

* Frame previews in modal

* Frame previews in modal

* Rough out copy and text hierachy

* More blocking

* fix property access on profile context

* add responsive layout

* Setup suggestion cards

* clean up pr

* clean up pr

* Update card icons

* Make AddFrameModal components modular

* fully functional farcaster frames

* get previews working

* polish

* Target arm64 architecture for web (#967)

* theme update

* try openframes first

* wip towards frame management page

* Revert "wip towards frame management page"

This reverts commit de4b6ebec833fd05d92adeae8179dab7b09a3725.

* Revert "Revert "wip towards frame management page""

This reverts commit 52a4555bb4464c145abb6cfa02ac4ac989b17a61.

* make page render

* get desktop frame builder ui working

* frame manager page w/ loading and some styles

* add back button

* better theme and add multi-add

* fix loading experience

* add mobile ux

* incorporate d furlong's suggestion re: frameImage fix

* dogfooding input from Rhea

* improved validation and copy

* improved loading state

* improve button and input styling

* add farcaster logout ux

* clean up sign-in ux

* clean up qr modal

* add swap frame

* clean up frame image sizing

* add a nice smooth transition in/out of loading states

* BAPP-579

* BAPP-585, BAPP-586

* BAPP-583

* BAPP-583

* move error handling up a level

* analytics

* improve mobile builder ux

* fix farcaster signer modal close issue--poll for text record changes on owned profiles

* center sign in with warpcast text

* yarn

* pr review from Leo

* lint

* add back nomination frame

* stick buttons to the bottom and center the loader

* revert csp changes

* add more logging and remove dead code

* be less spooky about the missing env vars

* add more info to error/analytics calls

* optimistic addition/removal of frames; improved warpcast sign-in

* remove columns experimentation

* fix masonry layout

* update icons for shelley

* rm unnecessary classnames call

* frame border radius nit

* style nits

* add dropped icon

* bunday review

---------

Co-authored-by: Matthew Bunday <matthew.bunday@coinbase.com>
Co-authored-by: David Roth <david.roth@coinbase.com>

* Basenames frames tutorial (#1005)

* add basenames frames tutorial without images

* add images to asset folder

* add images to tutorial

* add image of profile completion

* make basenames singular

* update slug to lowercase b in basename

* add reference links

* add basenames faq question

* reword what are frames paragraph

* add open spec link

* remove profile mentions

* fix: errors shouldn't mess with open frame support flag (#1008)

* Frames tutorial updates (#1010)

* update Claim Basename call to action

* update grammar on intro and second paragraph

* change example basename

* remove UL and turn into sentences

* Add owner registry componentId to cbgpt request (#1011)

* Remove the get an onchain summer pass (#1012)

* Fix typos

* Rebuild with correct checksum in tutorials data.json

* Fix artifacts in yarn.lock

---------

Co-authored-by: Léo Galley <contact@kirkas.ch>
Co-authored-by: Brendan from DeFi <brendan.forster@coinbase.com>
Co-authored-by: Luke Cassady-Dorion <luke@SPStories.com>
Co-authored-by: Luigi <luigi@umbrellavalidator.com>
Co-authored-by: Cypher Pepe <125112044+cypherpepe@users.noreply.github.com>
Co-authored-by: Jordan Frankfurt <jordanwfrankfurt@gmail.com>
Co-authored-by: Matthew Bunday <matthew.bunday@coinbase.com>
Co-authored-by: David Roth <david.roth@coinbase.com>
Co-authored-by: Pat <patrick.hughes@coinbase.com>
Co-authored-by: moggr <ricardo.moguel@coinbase.com>
2024-09-26 22:58:53 -05:00

1262 lines
44 KiB
JSON

{
"0_deploy-with-foundry": {
"title": "Deploying a smart contract using Foundry",
"slug": "/deploy-with-foundry",
"description": "A tutorial that teaches how to deploy a smart contract on the Base test network using Foundry. Includes instructions for setting up the environment, compiling, and deploying the smart contract.",
"author": "neodaoist",
"keywords": [
"Foundry",
"smart contract",
"ERC-721",
"Base",
"Base test network",
"Base testnet",
"Rust",
"Solidity",
"smart contract deployment",
"deploy a smart contract",
"build on base",
"write smart contract",
"smart contract development"
],
"tags": [
"smart contracts"
],
"difficulty": "beginner",
"displayed_sidebar": null,
"last_updated": "Jul 24, 2024",
"duration": "17 min read",
"checksum": "01acc27579fdc15f4087491bb6a9bed9c4142d893c7eafd2aa2ae023fbefb8a3"
},
"0_deploy-with-hardhat": {
"title": "Deploying a smart contract using Hardhat",
"slug": "/deploy-with-hardhat",
"description": "A tutorial that teaches how to deploy a smart contract on the Base test network using Hardhat. Includes instructions for setting up the environment, compiling, and deploying the smart contract.",
"author": "taycaldwell",
"keywords": [
"Hardhat",
"smart contract",
"ERC-721",
"Base",
"Base test network",
"Base testnet",
"Node.js",
"Solidity",
"smart contract deployment",
"deploy a smart contract",
"build on base",
"write smart contract",
"smart contract development"
],
"tags": [
"smart contracts"
],
"difficulty": "beginner",
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "15 min read",
"checksum": "b977f1f187d1f846e832710d5b4715a8f351ebb95dd392c970038adaec2cd94f"
},
"0_deploy-with-remix": {
"title": "Deploying a smart contract using Remix",
"slug": "/deploy-with-remix",
"description": "A tutorial that teaches how to deploy a smart contract on the Base test network using Remix IDE. Includes instructions for setting up the environment, compiling, and deploying the smart contract.",
"author": "briandoyle81",
"keywords": [
"Remix",
"Remix IDE",
"smart contract",
"Base",
"Base test network",
"Base testnet",
"Node.js",
"Solidity",
"smart contract deployment",
"deploy a smart contract",
"build on Base",
"write smart contract",
"smart contract development",
"online IDE"
],
"tags": [
"smart contracts"
],
"difficulty": "beginner",
"displayed_sidebar": null,
"last_updated": "Aug 9, 2024",
"duration": "18 min read",
"checksum": "0988226936a6179a48ef69db917e8a8d01f3a99db85e92c8985461dc35572d9a"
},
"0_deploy-with-tenderly": {
"title": "Deploying a smart contract using Tenderly",
"slug": "/deploy-with-tenderly",
"description": "A tutorial that teaches how to deploy smart contracts using Tenderly DevNets. This page covers setup, debugging, transaction simulations, and continuous integration for smart contract development on Base Network.",
"author": "tenderly",
"keywords": [
"Tenderly",
"smart contract",
"Tenderly DevNets",
"Base",
"Base Network",
"deployment",
"debugging",
"transaction simulations",
"continuous integration",
"DevNet environment",
"Hardhat integration",
"deploy a smart contract",
"debug a smart contract",
"smart contract on Base",
"build on Base"
],
"tags": [
"smart contracts"
],
"difficulty": "beginner",
"displayed_sidebar": null,
"last_updated": "Jul 11, 2024",
"duration": "19 min read",
"checksum": "6b93f84f6431fcf064adbb8b51ee2fb162a97516d4fbac2f982af1eddba87b6b"
},
"0_deploy-with-thirdweb": {
"title": "Deploying a smart contract using thirdweb",
"slug": "/deploy-with-thirdweb",
"description": "A tutorial that teaches how to deploy and interact with smart contracts using the thirdweb CLI and SDK. Includes instructions for project creation, contract deployment on the Base test network.",
"author": "taycaldwell",
"keywords": [
"thirdweb",
"thirdweb CLI",
"thirdweb SDK",
"Base",
"Base network",
"smart contracts",
"deployment",
"Base testnet",
"CLI",
"Solidity",
"ERC-721",
"web3 development",
"SDKs",
"React",
"deploy a smart contract",
"debug a smart contract",
"smart contract on Base",
"build on Base"
],
"tags": [
"smart contracts"
],
"difficulty": "beginner",
"displayed_sidebar": null,
"last_updated": "Jul 11, 2024",
"duration": "10 min read",
"checksum": "f4b7fa789b2c65e00e467c4851857ab2e629f6d8dbed7f8c2d625abf668a124b"
},
"0_gasless-transactions-with-paymaster": {
"title": "Gasless Transactions on Base using a Paymaster",
"slug": "/gasless-transaction-on-base-using-a-paymaster",
"description": "Learn how to leverage the Base Paymaster for seamless, gasless transactions on the Coinbase Cloud Developer Platform.",
"author": "hughescoin",
"keywords": [
"Gas",
"Gasless",
"Transactions",
"Paymaster",
"Sponsor",
"Sponsored Transactions",
"Onchain",
"Coinbase",
"Base",
"Crypto",
"Cloud Platform"
],
"tags": [
"account abstraction",
"Paymaster"
],
"difficulty": "easy",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "27 min read",
"checksum": "39df303029b9cfd8a5efe33a3c4a6280dd25f4d7554553fcfaf0904b0c72bd21"
},
"0_intro-to-providers": {
"title": "Introduction to Providers",
"slug": "/intro-to-providers",
"description": "A tutorial that teaches what providers are, why you need one, and how to configure several providers and use them to connect to the blockchain.",
"author": "briandoyle81",
"keywords": [
"blockchain providers",
"JSON RPC",
"RainbowKit",
"wagmi React hooks",
"viem",
"frontend",
"smart contract development",
"EVM",
"Next.js",
"Base",
"Base network",
"Base node providers",
"Base providers",
"blockchain development",
"dApps",
"smart contracts",
"providers",
"public providers",
"wallet providers",
"vendor providers",
"rate limits",
"blockchain API",
"Ethereum provider",
"Base",
"Base network",
"Base node providers",
"Base providers",
"QuickNode",
"Alchemy",
"API keys",
"blockchain connection",
"public provider",
"smart contract development"
],
"tags": [
"nodes",
"frontend"
],
"difficulty": "beginner",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Sep 12, 2024",
"duration": "21 min read",
"checksum": "774c94bba584693d64a3db2ec4da3554ac5bc69b54956874d78d0abdd6701c62"
},
"0_run-a-base-node": {
"title": "Running a Base Node",
"slug": "/run-a-base-node",
"description": "A tutorial that teaches how to set up and run a Base Node.",
"author": "taycaldwell & wbnns",
"keywords": [
"Base Node setup",
"running a node",
"Base node",
"run a Base node",
"hardware requirements",
"node synchronization",
"node snapshots",
"Base chain",
"Base blockchain",
"Base network",
"node deployment",
"Ethereum node"
],
"tags": [
"nodes"
],
"difficulty": "beginner",
"displayed_sidebar": null,
"last_updated": "Sep 12, 2024",
"duration": "7 min read",
"checksum": "1b62db4c90fac97453acd2f9bc09b3d23e75baa6ba765caa647721c5ce20d95a"
},
"1_10_farcaster-frames-hyperframes": {
"title": "Farcaster Frames: Building HyperFrames",
"slug": "/farcaster-frames-hyperframes",
"description": "A tutorial that teaches how to make cross-linked HyperFrames in an organized manner.",
"author": "briandoyle81",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"keywords": [
"farcaster",
"frames",
"farcaster frames",
"HyperFrames",
"hyper frames",
"state",
"frame state",
"Base"
],
"difficulty": "intermediate",
"tags": [
"frames",
"OnchainKit"
],
"last_updated": "Aug 14, 2024",
"duration": "16 min read",
"checksum": "8672df8be5f746458154b5908af0fe1ca5445ced73518bcbdfe077c40d3b1585"
},
"1_1_coinbase-smart-wallet": {
"title": "Coinbase Smart Wallet",
"slug": "/coinbase-smart-wallet",
"description": "Learn to create an app that uses the Coinbase Smart Wallet and effectively manages assets and permissions for both native and new users of onchain apps",
"author": "briandoyle81",
"keywords": [
"Solidity",
"ERC-721",
"token",
"NFT",
"wagmi",
"viem",
"smart wallet"
],
"tags": [
"nft",
"Smart Wallet",
"Paymaster"
],
"difficulty": "intermediate",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "22 min read",
"checksum": "7ec4be15487c878540156a35cc0375aa1ca6f90f6cbfc412bb0604067a2d06d6"
},
"1_2_smart-wallet-and-eoa-with-onchainkit": {
"title": "Use the Coinbase Smart Wallet and EOAs with OnchainKit",
"slug": "/smart-wallet-and-eoa-with-onchainkit",
"description": "Learn how to use OnchainKit to easily handle the Coinbase Smart Wallet and EOA wallets including the Coinbase wallet, at the same time.",
"author": "briandoyle81",
"keywords": [
"JSON RPC",
"RainbowKit",
"OnchainKit",
"frontend",
"Next.js",
"Base",
"blockchain development",
"dApps",
"Base",
"Base network",
"blockchain connection",
"smart contract development",
"smart wallet",
"Coinbase smart wallet",
"eoa"
],
"tags": [
"account abstraction",
"frontend",
"OnchainKit",
"Smart Wallet"
],
"difficulty": "beginner",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "10 min read",
"checksum": "4972586b1b3133352ba606cc4ca1a8d6fbb53edd47dc00bcd48cc67ad6b603e0"
},
"1_3_smart-wallet-and-rainbowkit": {
"title": "Coinbase Smart Wallet with RainbowKit",
"slug": "/smart-wallet-and-rainbowkit",
"description": "Learn how to configure RainbowKit to elegantly handle the Coinbase Smart Wallet and EOA wallets including the Coinbase wallet, at the same time.",
"author": "briandoyle81",
"keywords": [
"JSON RPC",
"RainbowKit",
"OnchainKit",
"frontend",
"Next.js",
"Base",
"blockchain development",
"dApps",
"wagmi React hooks",
"frontend",
"Next.js",
"Base",
"Base network",
"Base node providers",
"Base providers",
"blockchain development",
"dApps",
"smart contracts",
"providers",
"Base",
"Base network",
"blockchain connection",
"smart contract development",
"smart wallet",
"Coinbase smart wallet",
"eoa"
],
"tags": [
"account abstraction",
"frontend",
"Smart Wallet"
],
"difficulty": "beginner",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "11 min read",
"checksum": "570bd7d24eb6a2c7d803cb0a967abf5f8954376dbb72e87b0d3c527fa78d6590"
},
"1_4_farcaster-frames-nft-minting": {
"title": "Farcaster Frames: Building an NFT airdrop Frame",
"slug": "/farcaster-frames-nft-minting",
"description": "A tutorial that teaches how to make a Farcaster Frame that allows you to mint and airdrop NFTs to users.",
"author": "briandoyle81",
"keywords": [
"Solidity",
"ERC-721",
"token",
"NFT",
"farcaster",
"frames",
"farcaster frames"
],
"tags": [
"frames",
"nft",
"OnchainKit"
],
"difficulty": "beginner",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "23 min read",
"checksum": "a78a3c220c1c4ee26a025f81eb6ec490d48be76db44ae959b57f30a220e7d799"
},
"1_5_farcaster-frames-nocode-minting": {
"title": "Farcaster Frames: Building a no-code minting Frame",
"slug": "/farcaster-frames-nocode-minting",
"description": "A tutorial that teaches how to make a Farcaster Frame with an outbound link to an NFT minting website.",
"author": "briandoyle81",
"keywords": [
"Solidity",
"ERC-721",
"token",
"NFT",
"farcaster",
"frames",
"farcaster frames",
"mint"
],
"tags": [
"frames",
"nft",
"OnchainKit"
],
"difficulty": "beginner",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "6 min read",
"checksum": "a40f321baaaaf938708831ac828bb1145274b632dd4a0b539a25bb8ef8dbaf30"
},
"1_6_farcaster-frames-deploy-to-vercel": {
"title": "Farcaster Frames: Deploying to Vercel",
"slug": "/farcaster-frames-deploy-to-vercel",
"description": "A tutorial that teaches how to deploy a Farcaster Frame using Vercel.",
"author": "briandoyle81",
"keywords": [
"farcaster",
"frames farcaster frames",
"Vercel",
"OnchainKit",
"a frame in 100 lines",
"deploy"
],
"tags": [
"frames",
"OnchainKit"
],
"difficulty": "beginner",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "9 min read",
"checksum": "197d54aed1eca8f4937a5acb09382009e2e1ca9991a248496b60146b0c5efde3"
},
"1_7_farcaster-frames-gating-and-redirects": {
"title": "Farcaster Frames: Gating content and creating redirects",
"slug": "/farcaster-frames-gating-and-redirects",
"description": "A tutorial that teaches how to create Frames with more advanced behaviors such as gating content based on a user's follows, likes, or recasts, and creating redirect buttons.",
"author": "briandoyle81",
"keywords": [
"farcaster",
"frames",
"farcaster frames"
],
"tags": [
"frames",
"OnchainKit"
],
"difficulty": "intermediate",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "11 min read",
"checksum": "af4e0eee3327f226b5821067cc22b32db5c730078a8d7d163fd36822f45b5e3f"
},
"1_8_farcaster-frames-transactions": {
"title": "Farcaster Frames: Making transactions",
"slug": "/farcaster-frames-transactions",
"description": "A tutorial that teaches how to invoke a wallet transaction from a Farcaster Frame.",
"author": "briandoyle81",
"keywords": [
"farcaster",
"frames",
"farcaster frames",
"wallet",
"transaction",
"Base"
],
"tags": [
"frames",
"OnchainKit"
],
"difficulty": "intermediate",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "17 min read",
"checksum": "1ecf4393dbf01ca51ac07db59858cb3d359685d316451cd42cda2e1ce2685293"
},
"1_9_farcaster-cast-actions-simple": {
"title": "Farcaster Cast Actions: Create a Simple Cast Action",
"slug": "/farcaster-cast-actions-simple",
"description": "A tutorial that teaches how to make a simple Farcaster cast action.",
"author": "briandoyle81",
"keywords": [
"farcaster",
"cast actions",
"farcaster cast actions",
"farcaster actions"
],
"tags": [
"frames",
"actions",
"OnchainKit"
],
"difficulty": "beginner",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "9 min read",
"checksum": "296c34ff0988d0c72ec1a791bb3e48833bb0afa40f0111c3519354562e3350ed"
},
"1_verify-contract-with-basescan": {
"title": "Verify a Smart Contract using Basescan API",
"slug": "/verify-smart-contract-using-basescan",
"description": "A tutorial that teaches how to verify a smart contract using Basescan APIs.",
"author": "hughescoin",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"keywords": [
"Base",
"Solidity",
"ERC-721",
"token"
],
"difficulty": "beginner",
"tags": [
"smart contracts"
],
"last_updated": "Sep 12, 2024",
"duration": "12 min read",
"checksum": "c39c756f2f8f9940b0a041d5212d868f82aa0f949f11742d3fffedd37a5d2b35"
},
"2_1_simple-onchain-nfts": {
"title": "Simple Onchain NFTs",
"slug": "/simple-onchain-nfts",
"description": "A tutorial that teaches how to make simple nfts that are procedurally generated and have onchain metadata and images.",
"author": "briandoyle81",
"keywords": [
"Solidity",
"ERC-721",
"token",
"NFT",
"SVG",
"generative art",
"onchain metadata",
"nft metadata",
"onchain images",
"interfaces",
"pseudorandom numbers",
"deterministic randomness"
],
"tags": [
"nft"
],
"difficulty": "easy",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "26 min read",
"checksum": "ac2dc8225de421e3718eb14a2854be1d524132c5f4e1fe9f3e0f855515d68a3c"
},
"2_2_complex-onchain-nfts": {
"title": "Complex Onchain NFTs",
"slug": "/complex-onchain-nfts",
"description": "A tutorial that teaches how to make complex nfts that are procedurally generated and have onchain metadata and images.",
"author": "briandoyle81",
"keywords": [
"Solidity",
"ERC-721",
"token",
"NFT",
"SVG",
"generative art",
"onchain metadata",
"nft metadata",
"onchain images",
"interfaces",
"pseudorandom numbers",
"deterministic randomness"
],
"tags": [
"nft"
],
"difficulty": "intermediate",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "39 min read",
"checksum": "25ef22543ebd7f19a66a912a33667c1378455aff457815800cd1e255f63e0d65"
},
"2_3_signature-mint": {
"title": "Signature Mint NFT",
"slug": "/signature-mint-nft",
"description": "A tutorial that teaches how to create a signature mint, in which minters pay their own gas, but must first be given a valid signed authorization.",
"author": "briandoyle81",
"keywords": [
"Solidity",
"ERC-721",
"token",
"NFT",
"signature mint",
"viem",
"soulbound"
],
"tags": [
"nft"
],
"difficulty": "intermediate",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "19 min read",
"checksum": "88e6db6ecb1ee9f852aa7e414005b3c780f3c12277c18cbe2a2d85bcbc16f263"
},
"2_9_1_build-with-thirdweb": {
"title": "Building an onchain app using thirdweb",
"slug": "/build-with-thirdweb",
"description": "A tutorial that teaches how to build an NFT gallery app using thirdweb, including steps for creating an NFT collection, minting NFTs, and configuring the app for the Base testnet.",
"author": "taycaldwell",
"keywords": [
"thirdweb",
"onchain app",
"dapp",
"NFT",
"NFT collection",
"smart contract",
"Base blockchain",
"Base network",
"Base testnet",
"Base test network",
"mint NFTs",
"web3 wallet",
"app development",
"dapp development",
"build a dapp on Base",
"build on Base"
],
"tags": [
"smart contracts",
"nft"
],
"difficulty": "beginner",
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "8 min read",
"checksum": "527200e33d612b0c76e5eaacddfc23633b57eaa4577f389d4429b8f862c45462"
},
"2_9_2_thirdweb-unreal-nft-items": {
"title": "Thirdweb and Unreal - NFT Items",
"slug": "/thirdweb-unreal-nft-items",
"description": "Learn how to use NFTs as in-game items using Thirdweb and Unreal.",
"author": "briandoyle81",
"keywords": [
"Solidity",
"ERC-721",
"token",
"NFT",
"thirdweb",
"Unreal",
"c++",
"blueprints",
"onchain games"
],
"tags": [
"nft",
"smart contracts"
],
"difficulty": "hard",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Sep 12, 2024",
"duration": "37 min read",
"checksum": "5a5ce14de1c4ea8416346409bec25aa6fb5d65e86f931771a58328d0280d1647"
},
"2_dynamic-nfts": {
"title": "Building dynamic NFTs",
"slug": "/dynamic-nfts",
"description": "A tutorial that teaches how to make dynamic NFTs that evolve based on onchain or offchain actions.",
"author": "lukecd",
"keywords": [
"Irys",
"Permanent data",
"Solidity",
"ERC-721",
"token",
"NFT",
"Dynamic NFT",
"gaming NFT",
"onchain metadata",
"nft metadata",
"onchain nft"
],
"tags": [
"nft"
],
"difficulty": "intermediate",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Sep 26, 2024",
"duration": "14 min read",
"checksum": "28f843ebc47bc9d69b6bf040a6ec3d1b92237e78a462121d74ff70ab64d66018"
},
"2_email-campaign-with-resend": {
"title": "Create Email Marketing Campaigns Onchain using Coinbase Smart Wallet + Resend",
"slug": "/onchain-email-campaigns-using-resend",
"description": "A tutorial that teaches how to create a mailing list and email customers using Resend",
"author": "hughescoin",
"keywords": [
"build on base",
"viem",
"wagmi",
"frontend",
"onchain app development"
],
"tags": [
"account abstraction"
],
"difficulty": "beginner",
"displayed_sidebar": null,
"last_updated": "Sep 12, 2024",
"duration": "21 min read",
"checksum": "e04c640da09b69b49d92c792d7cc6ddfddbcbee6facc44de85690c73da1f3aeb"
},
"2_event-gate-nouns": {
"title": "Gate IRL Events with Nouns",
"slug": "/event-gate-with-nouns",
"description": "Learn how to gate entry to an IRL event for members of a Nounish DAO.",
"author": "briandoyle81",
"keywords": [
"Solidity",
"ERC-721",
"token",
"NFT",
"Gate",
"Nouns",
"PFP"
],
"tags": [
"nft",
"smart contracts",
"frontend"
],
"difficulty": "intermediate",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "19 min read",
"checksum": "002c298b985a448313a177066e23133963d9ae5f3c678769343efe5fdd5813aa"
},
"2_nft-minting-with-zora": {
"title": "How to Mint on Zora with an App",
"slug": "/minting-nfts-with-zora",
"description": "Learn to use Zora contracts inside your app to create secure, efficient, and feature-rich minting experiences for your users.",
"author": "briandoyle81",
"keywords": [
"Solidity",
"ERC-1155",
"token",
"NFT",
"wagmi",
"viem",
"Zora"
],
"tags": [
"nft",
"smart wallet"
],
"difficulty": "intermediate",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 13, 2024",
"duration": "18 min read",
"checksum": "e20b430c2b1696b473625584d654f4a60e313c102127730553ab75f0bb54c568"
},
"4_account-abstraction-with-biconomy": {
"title": "Account Abstraction on Base using Biconomy",
"slug": "/account-abstraction-with-biconomy",
"description": "A tutorial that teaches how to implement Account Abstraction into a Base project using Biconomy paymasters, bundlers, and smart accounts.",
"author": "taycaldwell",
"keywords": [
"Account Abstraction",
"AA",
"Biconomy",
"Paymaster",
"Bundler",
"User operations",
"userops",
"Smart contract wallet",
"Smart account",
"Particle Network",
"Particle Auth"
],
"tags": [
"account abstraction"
],
"difficulty": "intermediate",
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "29 min read",
"checksum": "fd4364a5238b6bdbe765ad171c45596338fe2bb367d0f5d0da2f3516dcbbbf73"
},
"4_account-abstraction-with-particle-network": {
"title": "Account Abstraction on Base using Particle Network",
"slug": "/account-abstraction-with-particle-network",
"description": "A walkthrough on Particle Network's Modular Smart Wallet-as-a-Service, leveraging account abstraction and social logins across various providers.",
"author": "TABASCOatw",
"keywords": [
"Account Abstraction",
"AA",
"Biconomy",
"Paymaster",
"Bundler",
"Alchemy",
"ERC-4337 Smart account",
"Particle Network",
"Particle Auth",
"Wallet-as-a-Service"
],
"tags": [
"account abstraction"
],
"difficulty": "intermediate",
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "34 min read",
"checksum": "d307c0834f745648d2c7004595a7c60544381a0d90d4f3a3d6337f6152c4c856"
},
"4_account-abstraction-with-privy-and-base-paymaster": {
"title": "Account Abstraction on Base using Privy and the Base Paymaster",
"slug": "/account-abstraction-with-privy-and-base-paymaster",
"description": "A tutorial that teaches how to implement Account Abstraction into a Base project using Privy and the Base paymaster.",
"author": "Brian Doyle and Aaron Hayslip",
"keywords": [
"Privy",
"viem",
"frontend",
"smart contract development",
"EVM",
"Next.js",
"Base",
"Base network",
"account abstraction",
"Base paymaster",
"embedded wallet"
],
"tags": [
"account abstraction"
],
"difficulty": "intermediate",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Sep 12, 2024",
"duration": "46 min read",
"checksum": "aabfa2f90ea76b3e76b29d22f15262c84734e21d657e27ebc81b09f7f23b142d"
},
"4_hardhat-debugging": {
"title": "Hardhat: Debugging smart contracts",
"slug": "/hardhat-debugging",
"description": "A tutorial that teaches how to debug your smart contracts using Hardhat.",
"author": "Edson Alcala",
"keywords": [
"Hardhat",
"smart contract debugging",
"debugging logs",
"common errors",
"error resolution",
"decentralized applications"
],
"tags": [
"smart contracts"
],
"difficulty": "beginner",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Jul 19, 2024",
"duration": "15 min read",
"checksum": "cfbe4c4a820359496a32e9dcd141ac4b05ff3d0e1e448be8b14c3ccf7094d0f5"
},
"4_hardhat-profiling-gas": {
"title": "Hardhat: Optimizing the gas usage of smart contracts",
"slug": "/hardhat-profiling-gas",
"description": "A tutorial that teaches how to optimize the gas usage of your smart contracts using Hardhat.",
"author": "Edson Alcala and Brian Doyle",
"keywords": [
"Hardhat",
"gas optimization",
"gas usage",
"gas profiling",
"Hardhat Gas Reporter plugin",
"smart contract development",
"cost savings",
"contract optimization",
"gas-efficient contracts"
],
"tags": [
"smart contracts"
],
"difficulty": "beginner",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Jul 11, 2024",
"duration": "16 min read",
"checksum": "7462ea26fdaafac994b2ccbeaaa0fcc08f708debcda1193f8131f99c201005cc"
},
"4_hardhat-profiling-size": {
"title": "Hardhat: Optimizing the size of smart contracts",
"slug": "/hardhat-profiling-size",
"description": "A tutorial that teaches how to optimize the size of your smart contracts using Hardhat.",
"author": "Edson Alcala and Brian Doyle",
"keywords": [
"Smart Contract Sizes",
"Hardhat Contract Sizer",
"Base network",
"Base blockchain",
"Blockchain",
"Contract Optimization",
"Inheritance",
"External Contracts",
"Solidity Optimizer",
"Smart Contract Development"
],
"tags": [
"smart contracts"
],
"difficulty": "beginner",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "22 min read",
"checksum": "e6b1b37a88f96286694c2b89c27d28f80267739500d7c8f1d42ac3ac14ed5ba7"
},
"4_hardhat-test-coverage": {
"title": "Hardhat: Analyzing the test coverage of smart contracts",
"slug": "/hardhat-test-coverage",
"description": "A tutorial that teaches how to profile the test coverage of your smart contracts using Hardhat and the Solidity Coverage plugin.",
"author": "Edson Alcala",
"keywords": [
"Solidity Coverage",
"Smart Contract Testing",
"Test Coverage",
"Base network",
"Base blockchain",
"blockchain development",
"Hardhat",
"Solidity",
"Code Testing",
"Test Suite Analysis"
],
"tags": [
"smart contracts"
],
"difficulty": "beginner",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Jul 19, 2024",
"duration": "9 min read",
"checksum": "91362e14b5f94b0bac604a0b17944fb8b41658f3e3b4c79510ea514f28f5d8d3"
},
"4_intro-to-foundry-setup": {
"title": "Foundry: Setting up Foundry with Base",
"slug": "/intro-to-foundry-setup",
"description": "A tutorial that teaches how to set up your development environment to work with Foundry.",
"author": "Edson Alcala",
"keywords": [
"Foundry",
"Forge",
"Foundry Book",
"smart contract development",
"toolchain"
],
"tags": [
"smart contracts"
],
"difficulty": "beginner",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Sep 26, 2024",
"duration": "6 min read",
"checksum": "9cd3979515e3c4b2ccc8a59c6ac08c9e3d2b69e108c8ddc58ef010f0f77670fa"
},
"4_intro-to-foundry-testing": {
"title": "Foundry: Testing smart contracts",
"slug": "/intro-to-foundry-testing",
"author": "Edson Alcala",
"description": "A tutorial that teaches how to test your smart contracts using Foundry.",
"keywords": [
"Foundry",
"Forge",
"Foundry Book",
"smart contract development",
"toolchain",
"testing",
"test"
],
"tags": [
"smart contracts"
],
"difficulty": "beginner",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Jul 11, 2024",
"duration": "9 min read",
"checksum": "2ced64394c425e5749001cb21cca5a3b0043fe6ab013be45e98299e16f337d23"
},
"5_basename-frames": {
"title": "Add Frames to A Basename",
"slug": "/add-frames-to-basename",
"description": "Learn how to customize your Basename by adding Frames, showcasing dynamic content with ease on Base.",
"author": "hughescoin",
"keywords": [
"Sponsored Transactions",
"Onchain",
"Coinbase",
"Base",
"Crypto",
"Cloud Platform",
"Basenames",
"Frames",
"Profile Customization",
"Open Graph",
"ENS"
],
"tags": [
"account abstraction",
"Paymaster"
],
"difficulty": "easy",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Sep 26, 2024",
"duration": "5 min read",
"checksum": "17b2137efd031251de2beb3683b5c75006b8723bff189e59d655d86f5abc296d"
},
"5_cross-chain-with-ccip": {
"title": "Sending messages and tokens from Base to other chains using Chainlink CCIP",
"slug": "/cross-chain-with-ccip",
"description": "A tutorial that teaches how to use Chainlink CCIP to perform cross-chain messaging and token transfers from Base Goerli testnet to Optimism Goerli testnet.",
"author": "taycaldwell",
"keywords": [
"Cross-chain",
"Omni-chain",
"Crosschain",
"OmniChain",
"Chainlink",
"Chainlink CCIP",
"CCIP",
"cross-chain messaging",
"transfer tokens across chains"
],
"tags": [
"cross-chain"
],
"difficulty": "intermediate",
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "32 min read",
"checksum": "a7cd33af8c6f1d4eb7853e2e348d956ce07e923923be0376484316c597733e7b"
},
"5_cross-chain-with-layerzero": {
"title": "Sending messages from Base to other chains using LayerZero V2",
"slug": "/cross-chain-with-layerzero",
"description": "A tutorial that teaches how to use LayerZero V2 to perform cross-chain messaging from Base Goerli testnet to Optimism Goerli testnet.",
"author": "taycaldwell",
"keywords": [
"Cross-chain",
"Omni-chain",
"Crosschain",
"OmniChain",
"LayerZero",
"LayerZero V2",
"lz",
"cross-chain messaging",
"transfer tokens across chains"
],
"tags": [
"cross-chain"
],
"difficulty": "intermediate",
"displayed_sidebar": null,
"last_updated": "Sep 26, 2024",
"duration": "34 min read",
"checksum": "0f984180e209b250b61c437f6cb53af4695e73e5c08297d09bd64f25a2b20122"
},
"5_deploy-with-fleek": {
"title": "Deploy an Onchain App with Fleek",
"slug": "/deploy-with-fleek",
"description": "Learn how to deploy an onchain app using Fleek.",
"author": "briandoyle81",
"keywords": [
"deploy",
"fleek",
"onchain",
"dapp",
"onchain app"
],
"tags": [
"frontend"
],
"difficulty": "hard",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"image": "https://docs.base.org/img/base-learn-open-graph.png",
"last_updated": "Aug 14, 2024",
"duration": "9 min read",
"checksum": "d9302891627f1761507422bf35c361a30b343e77cb4d3981888ab70eb4fbd0ac"
},
"5_oracles-chainlink-price-feeds": {
"title": "Accessing real-world data using Chainlink Data Feeds",
"slug": "/oracles-chainlink-price-feeds",
"description": "A tutorial that teaches how to use Chainlink Data Feeds to access real-world data, such as asset prices, directly from your smart contracts on the Base testnet.",
"author": "taycaldwell",
"keywords": [
"Oracle Oracles",
"Chainlink",
"price feeds",
"data feeds",
"smart contract",
"Base blockchain",
"Base network",
"Base testnet",
"Base test network",
"app development",
"dapp development",
"build a dapp on Base",
"build on Base"
],
"tags": [
"oracles"
],
"difficulty": "intermediate",
"displayed_sidebar": null,
"last_updated": "Sep 26, 2024",
"duration": "11 min read",
"checksum": "0abeee6a45dc60ad4e4c5945dc7ba2e9094c731c7353914365ef268edc10f789"
},
"5_oracles-pyth-price-feeds": {
"title": "Accessing real-time asset data using Pyth Price Feeds",
"slug": "/oracles-pyth-price-feeds",
"description": "A tutorial that teaches how to use Pyth Price Feeds to access real-time asset data, directly from your smart contracts on the Base testnet.",
"author": "taycaldwell",
"keywords": [
"Oracle Oracles",
"Pyth",
"Pyth Network",
"price feeds",
"data feeds",
"smart contract",
"Base blockchain",
"Base network",
"Base testnet",
"Base test network",
"app development",
"dapp development",
"build a dapp on Base",
"build on Base"
],
"tags": [
"oracles"
],
"difficulty": "intermediate",
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "13 min read",
"checksum": "52d094a46a0d058a99037f334eda0f94188fd451c6a37a8cbc2b8dda11c25df9"
},
"5_oracles-supra-vrf": {
"title": "Generating random numbers contracts using Supra dVRF",
"slug": "/oracles-supra-vrf",
"description": "A tutorial that teaches how to use Supra dVRF to serve random numbers using an onchain randomness generation mechanism directly within your smart contracts on the Base testnet.",
"author": "taycaldwell",
"keywords": [
"Oracle Oracles",
"Supra",
"Supra VRF",
"Supra dVRF",
"VRF",
"verifiable random function",
"verifiable random functions",
"random numbers",
"rng",
"random number generator",
"random numbers in smart contracts",
"random numbers on Base",
"smart contract",
"Base blockchain",
"Base network",
"Base testnet",
"Base test network",
"app development",
"dapp development",
"build a dapp on Base",
"build on Base"
],
"tags": [
"oracles",
"vrf"
],
"difficulty": "intermediate",
"displayed_sidebar": null,
"last_updated": "Aug 14, 2024",
"duration": "19 min read",
"checksum": "46d96117b03b9225493b382afd3b8f5800001063296cb34eb48269481c7d15c6"
},
"5_shopify-storefront-commerce": {
"title": "Deploy a Shopify Storefront with Coinbase Commerce",
"slug": "/shopify-storefront-commerce",
"description": "Learn how to launch a Shopify storefront that uses Coinbase Commerce as a crypto payment gateway.",
"author": "hughescoin",
"keywords": [
"Shopify",
"Coinbase Commerce",
"crypto payments",
"ecommerce",
"Hydrogen",
"Oxygen",
"USDC",
"ocs",
"onchain"
],
"tags": [
"ecommerce",
"crypto",
"shopify",
"onchain summer",
"ocs"
],
"difficulty": "easy",
"hide_table_of_contents": false,
"displayed_sidebar": null,
"last_updated": "Sep 12, 2024",
"duration": "8 min read",
"checksum": "59d04f2a46bc95b68a0f50c83f78a0b0d2f2549ecf0e8c7e592aaa4eae6bf6d1"
}
}