mirror of
https://github.com/placeholder-soft/web.git
synced 2026-01-12 22:45:00 +08:00
1125 lines
39 KiB
JSON
1125 lines
39 KiB
JSON
{
|
|
"0_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,
|
|
"last_updated": "Jul 20, 2024",
|
|
"duration": "9 min read",
|
|
"checksum": "810ba498a0480702ecfc685fe21f49a9af965eae25db5b3f5ad11ec40516982f"
|
|
},
|
|
"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": "Jul 11, 2024",
|
|
"duration": "15 min read",
|
|
"checksum": "b9b4a675c58d4cdfb99f3b97ddcf1b223a51dfc5c2414d184cd5d4fb9f988b55"
|
|
},
|
|
"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": "Jul 11, 2024",
|
|
"duration": "18 min read",
|
|
"checksum": "039bc3fe2c561bc45a6069fbf704b2b29203fb0ce49e1d0dee97a8f0fada11df"
|
|
},
|
|
"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"
|
|
],
|
|
"difficulty": "easy",
|
|
"hide_table_of_contents": false,
|
|
"displayed_sidebar": null,
|
|
"last_updated": "Jul 30, 2024",
|
|
"duration": "27 min read",
|
|
"checksum": "52d06f74e8ae98119482e0c9c23e61b2d626a6f43bbe1279b3cbbab289bc4115"
|
|
},
|
|
"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": "Jul 24, 2024",
|
|
"duration": "7 min read",
|
|
"checksum": "3ee35c2c889d0ca625bd6786119bb0b884446ea9686c455f422597d17c67ed0c"
|
|
},
|
|
"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": "Jul 11, 2024",
|
|
"duration": "8 min read",
|
|
"checksum": "527200e33d612b0c76e5eaacddfc23633b57eaa4577f389d4429b8f862c45462"
|
|
},
|
|
"1_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": "Jul 20, 2024",
|
|
"duration": "19 min read",
|
|
"checksum": "720b1b679ae3f9e0c2905f97cfbe7b07c436b93838c7686bfe63d64ba30aa1b7"
|
|
},
|
|
"1_event-poap-nouns": {
|
|
"title": "Event POAPs with Nouns",
|
|
"slug": "/event-poaps-with-nouns",
|
|
"description": "Learn how to give attendees of an in-person event a Nouns-based POAP/PFT, even if they're not onchain yet.",
|
|
"author": "briandoyle81",
|
|
"keywords": [
|
|
"Solidity",
|
|
"ERC-721",
|
|
"token",
|
|
"NFT",
|
|
"POAP",
|
|
"Nouns",
|
|
"PFP"
|
|
],
|
|
"tags": [
|
|
"nft",
|
|
"smart contracts"
|
|
],
|
|
"difficulty": "hard",
|
|
"hide_table_of_contents": false,
|
|
"displayed_sidebar": null,
|
|
"last_updated": "Jul 20, 2024",
|
|
"duration": "4 min read",
|
|
"checksum": "7718ea8fcbcdb3da50530879402b92bc244b3e59c771f50ffe7463740d34ee8e"
|
|
},
|
|
"1_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": "Jul 30, 2024",
|
|
"duration": "37 min read",
|
|
"checksum": "644148276a060da14958bd331948201e76c94390bfeffc80d81fb58621cf8592"
|
|
},
|
|
"2_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": "Jul 11, 2024",
|
|
"duration": "29 min read",
|
|
"checksum": "8c8189d19e874c08dd05549d06c1eb2e45ce924aa2b0e1239f0adf04c8ee4879"
|
|
},
|
|
"2_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": "Jul 11, 2024",
|
|
"duration": "34 min read",
|
|
"checksum": "d307c0834f745648d2c7004595a7c60544381a0d90d4f3a3d6337f6152c4c856"
|
|
},
|
|
"2_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": "Jul 19, 2024",
|
|
"duration": "46 min read",
|
|
"checksum": "13ddb86a1b3e42ca0c3a8a4f1678f78d0f02d7b003133351081ecb252610789c"
|
|
},
|
|
"2_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"
|
|
],
|
|
"difficulty": "intermediate",
|
|
"hide_table_of_contents": false,
|
|
"displayed_sidebar": null,
|
|
"last_updated": "Jul 30, 2024",
|
|
"duration": "22 min read",
|
|
"checksum": "90298cc2b50fdf33b3c95d4b25bb6097ac53b0bc38868a3c92c94e3f9d56debb"
|
|
},
|
|
"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": "Jul 24, 2024",
|
|
"duration": "39 min read",
|
|
"checksum": "25ef22543ebd7f19a66a912a33667c1378455aff457815800cd1e255f63e0d65"
|
|
},
|
|
"2_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": "Jul 11, 2024",
|
|
"duration": "32 min read",
|
|
"checksum": "b613b074cbb8f4c8eb55a13651f6371a8a3211afe65b8e2190e5b9df18c1d98f"
|
|
},
|
|
"2_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",
|
|
"eywords": [
|
|
"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": "Jul 11, 2024",
|
|
"duration": "34 min read",
|
|
"checksum": "a0ce01aa1c3097efa7582a74bc73f9ccad03222b25af451be1fde4fcd45c7dd7"
|
|
},
|
|
"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": "Jul 11, 2024",
|
|
"duration": "14 min read",
|
|
"checksum": "0b1498d415cda6e83031231cd05d42edacd2faa82d68471b2ed09670481a3259"
|
|
},
|
|
"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": "Jul 20, 2024",
|
|
"duration": "18 min read",
|
|
"checksum": "38e9990206b5fcb29b4f3505cf8d584464c012ef7fe76f0f41edb734990b77e5"
|
|
},
|
|
"2_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": "Jul 11, 2024",
|
|
"duration": "11 min read",
|
|
"checksum": "df42e4091a128a0bd3e7dc9fcc585f9a711a56027152d57553a54e8040a4001f"
|
|
},
|
|
"2_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": "Jul 11, 2024",
|
|
"duration": "13 min read",
|
|
"checksum": "983e7175434206be7c996758b09db9c33aac454ecb9b4b3da8f301f8140b7c52"
|
|
},
|
|
"2_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": "Jul 11, 2024",
|
|
"duration": "19 min read",
|
|
"checksum": "260e40333e386593cf6f211c06218042d4b93ecac34f56a0decbd398f1e3ddb1"
|
|
},
|
|
"2_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": "Jul 20, 2024",
|
|
"duration": "19 min read",
|
|
"checksum": "88e6db6ecb1ee9f852aa7e414005b3c780f3c12277c18cbe2a2d85bcbc16f263"
|
|
},
|
|
"2_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": "Jul 31, 2024",
|
|
"duration": "26 min read",
|
|
"checksum": "15e1fe93f8c085d0ea8a0e90e63054d978f65117af37640fbffbf5d1c79f392e"
|
|
},
|
|
"3_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"
|
|
],
|
|
"difficulty": "beginner",
|
|
"hide_table_of_contents": false,
|
|
"displayed_sidebar": null,
|
|
"last_updated": "Jul 19, 2024",
|
|
"duration": "9 min read",
|
|
"checksum": "a926a0eb81cdf076b53902e170c6d31b195056bfc7dc3ccc4940f7152772f552"
|
|
},
|
|
"3_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"
|
|
],
|
|
"difficulty": "intermediate",
|
|
"hide_table_of_contents": false,
|
|
"displayed_sidebar": null,
|
|
"last_updated": "Jul 30, 2024",
|
|
"duration": "11 min read",
|
|
"checksum": "a8d146f53ed4166cc9db20bc9330686e33f9b77f7cb4402c0363da31ed61b719"
|
|
},
|
|
"3_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"
|
|
],
|
|
"last_updated": "Jul 30, 2024",
|
|
"duration": "16 min read",
|
|
"checksum": "92863c20aeaf836397aa7700bb1658448ba18ad964faccd1b4a347d60ba0d91a"
|
|
},
|
|
"3_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"
|
|
],
|
|
"difficulty": "beginner",
|
|
"hide_table_of_contents": false,
|
|
"displayed_sidebar": null,
|
|
"last_updated": "Jul 30, 2024",
|
|
"duration": "23 min read",
|
|
"checksum": "a872103049f72733d50335e30cbef38282c2bd0f7ae3214868cf465cec470ddc"
|
|
},
|
|
"3_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"
|
|
],
|
|
"difficulty": "beginner",
|
|
"hide_table_of_contents": false,
|
|
"displayed_sidebar": null,
|
|
"last_updated": "Jul 30, 2024",
|
|
"duration": "6 min read",
|
|
"checksum": "e669fa202e9455fa51e3d48a3a5a4f3d934e592e95eadf04a911b8ea266c51ec"
|
|
},
|
|
"3_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"
|
|
],
|
|
"difficulty": "intermediate",
|
|
"hide_table_of_contents": false,
|
|
"displayed_sidebar": null,
|
|
"last_updated": "Jul 30, 2024",
|
|
"duration": "17 min read",
|
|
"checksum": "c00ea1ef98071d3c24bf587998b26e9d3bbc9d88c4c0b633d58ad842ba4eeaa9"
|
|
},
|
|
"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": "Jul 19, 2024",
|
|
"duration": "22 min read",
|
|
"checksum": "550ac230c92d8add5b04250d13b19eb97133dbeb2525406396f73cd808d1888d"
|
|
},
|
|
"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": "Jul 11, 2024",
|
|
"duration": "6 min read",
|
|
"checksum": "0b50de1197db8c50cbf02405a904f99ec7e32159f86ae884993aa6cc36b10fcb"
|
|
},
|
|
"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"
|
|
},
|
|
"4_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"
|
|
],
|
|
"difficulty": "beginner",
|
|
"hide_table_of_contents": false,
|
|
"displayed_sidebar": null,
|
|
"last_updated": "Jul 19, 2024",
|
|
"duration": "21 min read",
|
|
"checksum": "40d1858aeeaef166a56357d76ef641dae4c7cb25334e23aba75c4a3a91bea8d9"
|
|
},
|
|
"5_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"
|
|
],
|
|
"difficulty": "beginner",
|
|
"hide_table_of_contents": false,
|
|
"displayed_sidebar": null,
|
|
"last_updated": "Jul 30, 2024",
|
|
"duration": "9 min read",
|
|
"checksum": "e664b615fd5d9ed6115853ae9335276dc664f752c9a3f112105adb469f84296b"
|
|
},
|
|
"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": "Jul 11, 2024",
|
|
"duration": "8 min read",
|
|
"checksum": "1d485f4ded5aa492578d9887e36fefefea452c262769f5f30f6e9750c24c2913"
|
|
}
|
|
} |