|
22 | 22 | "duration": "9 min read", |
23 | 23 | "checksum": "df2b47bc5f070da32258d9533d04c1840d5e1ebeb58de4196e57b272b9b1a6b7" |
24 | 24 | }, |
| 25 | + "0_accept-crypto-payments": { |
| 26 | + "title": "Accept Crypto Payments", |
| 27 | + "slug": "/accept-crypto-payments", |
| 28 | + "description": "Configure your app to accept crypto payments with Coinbase Commerce and OnchainKit.", |
| 29 | + "author": "eric.base.eth", |
| 30 | + "keywords": [ |
| 31 | + "Account Abstraction", |
| 32 | + "AA", |
| 33 | + "Smart account", |
| 34 | + "Smart Wallet", |
| 35 | + "Funding", |
| 36 | + "Onramps", |
| 37 | + "Onchainkit", |
| 38 | + "Onboarding", |
| 39 | + "Smart contract wallet", |
| 40 | + "Smart account" |
| 41 | + ], |
| 42 | + "tags": [ |
| 43 | + "account abstraction", |
| 44 | + "crypto payments" |
| 45 | + ], |
| 46 | + "difficulty": "intermediate", |
| 47 | + "hide_table_of_contents": false, |
| 48 | + "displayed_sidebar": null, |
| 49 | + "last_updated": "Feb 6, 2025", |
| 50 | + "duration": "8 min read", |
| 51 | + "checksum": "5ab221b4918117874c1a1b69983acbe0482e4bad6370f86f4cafb8226c0a776c" |
| 52 | + }, |
25 | 53 | "0_deploy-with-foundry": { |
26 | 54 | "title": "Deploying a smart contract using Foundry", |
27 | 55 | "slug": "/deploy-with-foundry", |
|
76 | 104 | ], |
77 | 105 | "difficulty": "beginner", |
78 | 106 | "displayed_sidebar": null, |
79 | | - "last_updated": "Aug 14, 2024", |
80 | | - "duration": "15 min read", |
81 | | - "checksum": "b977f1f187d1f846e832710d5b4715a8f351ebb95dd392c970038adaec2cd94f" |
| 107 | + "last_updated": "Feb 6, 2025", |
| 108 | + "duration": "14 min read", |
| 109 | + "checksum": "1a4ff0e8fb3bdb19eb31b23839e970328f465ee2b08edb974899c2029e6c8067" |
82 | 110 | }, |
83 | 111 | "0_deploy-with-remix": { |
84 | 112 | "title": "Deploying a smart contract using Remix", |
|
106 | 134 | ], |
107 | 135 | "difficulty": "beginner", |
108 | 136 | "displayed_sidebar": null, |
109 | | - "last_updated": "Aug 9, 2024", |
| 137 | + "last_updated": "Feb 6, 2025", |
110 | 138 | "duration": "18 min read", |
111 | | - "checksum": "0988226936a6179a48ef69db917e8a8d01f3a99db85e92c8985461dc35572d9a" |
| 139 | + "checksum": "51a373b0edbcf28503e0674e5d7b3e286095bf9b24e68575314f8eca3b864d74" |
112 | 140 | }, |
113 | 141 | "0_deploy-with-tenderly": { |
114 | 142 | "title": "Deploying a smart contract using Tenderly", |
|
137 | 165 | ], |
138 | 166 | "difficulty": "beginner", |
139 | 167 | "displayed_sidebar": null, |
140 | | - "last_updated": "Jul 11, 2024", |
| 168 | + "last_updated": "Feb 6, 2025", |
141 | 169 | "duration": "19 min read", |
142 | | - "checksum": "6b93f84f6431fcf064adbb8b51ee2fb162a97516d4fbac2f982af1eddba87b6b" |
| 170 | + "checksum": "e1d5cda5b9c402023c6c5f4ab5cd47636ba01880eb3027f44e6bccca5d8fbbf8" |
143 | 171 | }, |
144 | 172 | "0_deploy-with-thirdweb": { |
145 | 173 | "title": "Deploying a smart contract using thirdweb", |
|
200 | 228 | "difficulty": "easy", |
201 | 229 | "hide_table_of_contents": false, |
202 | 230 | "displayed_sidebar": null, |
203 | | - "last_updated": "Aug 14, 2024", |
| 231 | + "last_updated": "Feb 6, 2025", |
204 | 232 | "duration": "27 min read", |
205 | | - "checksum": "39df303029b9cfd8a5efe33a3c4a6280dd25f4d7554553fcfaf0904b0c72bd21" |
| 233 | + "checksum": "d5fae24ccf951790ee64ed24104ec92d63f557b4fbfda73b6df7816d6c4213ea" |
206 | 234 | }, |
207 | 235 | "0_intro-to-providers": { |
208 | 236 | "title": "Introduction to Providers", |
|
251 | 279 | "difficulty": "beginner", |
252 | 280 | "hide_table_of_contents": false, |
253 | 281 | "displayed_sidebar": null, |
254 | | - "last_updated": "Sep 12, 2024", |
| 282 | + "last_updated": "Feb 6, 2025", |
255 | 283 | "duration": "21 min read", |
256 | | - "checksum": "774c94bba584693d64a3db2ec4da3554ac5bc69b54956874d78d0abdd6701c62" |
| 284 | + "checksum": "e8ad9f260741d1bad609de2c417d0ab29b1cdba6fdf71660249f6bae1477f120" |
257 | 285 | }, |
258 | 286 | "0_run-a-base-node": { |
259 | 287 | "title": "Running a Base Node", |
|
279 | 307 | ], |
280 | 308 | "difficulty": "beginner", |
281 | 309 | "displayed_sidebar": null, |
282 | | - "last_updated": "Dec 6, 2024", |
| 310 | + "last_updated": "Feb 6, 2025", |
283 | 311 | "duration": "7 min read", |
284 | | - "checksum": "f54045db529b60ed18d47eea24b283da5620dc5e8e2fb39015daef16b5baa48a" |
| 312 | + "checksum": "5fab200cf9f312d01648ebf0f508c9eb9dfa4f02fbb770dccb502cb7a0e90a1c" |
285 | 313 | }, |
286 | 314 | "1_10_farcaster-frames-hyperframes": { |
287 | 315 | "title": "Farcaster Frames: Building HyperFrames", |
|
331 | 359 | "difficulty": "intermediate", |
332 | 360 | "hide_table_of_contents": false, |
333 | 361 | "displayed_sidebar": null, |
334 | | - "last_updated": "Aug 14, 2024", |
| 362 | + "last_updated": "Feb 6, 2025", |
335 | 363 | "duration": "22 min read", |
336 | | - "checksum": "7ec4be15487c878540156a35cc0375aa1ca6f90f6cbfc412bb0604067a2d06d6" |
| 364 | + "checksum": "88baf06914053c3358e53eeabae01e2c60f74628eae9944156652d2ab447b4a8" |
337 | 365 | }, |
338 | 366 | "1_2_smart-wallet-and-eoa-with-onchainkit": { |
339 | 367 | "title": "Use the Coinbase Smart Wallet and EOAs with OnchainKit", |
|
437 | 465 | "difficulty": "beginner", |
438 | 466 | "hide_table_of_contents": false, |
439 | 467 | "displayed_sidebar": null, |
440 | | - "last_updated": "Aug 14, 2024", |
| 468 | + "last_updated": "Feb 6, 2025", |
441 | 469 | "duration": "23 min read", |
442 | | - "checksum": "a78a3c220c1c4ee26a025f81eb6ec490d48be76db44ae959b57f30a220e7d799" |
| 470 | + "checksum": "88b5e90ac17455267881a0181c6e360bf908efd75e80e0d0999e5aabf9ed7416" |
443 | 471 | }, |
444 | 472 | "1_5_farcaster-frames-nocode-minting": { |
445 | 473 | "title": "Farcaster Frames: Building a no-code minting Frame", |
|
586 | 614 | "duration": "6 min read", |
587 | 615 | "checksum": "6f687231958dc79d5264bcfeadfdb5704b860a7653d788491bdf4c8c41a0e0d3" |
588 | 616 | }, |
| 617 | + "1_smart-wallet-spend-permissions": { |
| 618 | + "title": "Create Onchain Subscription Payments with Spend Permissions", |
| 619 | + "slug": "/create-subscription-payments-with-spend-permissions", |
| 620 | + "description": "Implement a smart wallet signer for a subscription payment application.", |
| 621 | + "author": "hughescoin", |
| 622 | + "keywords": [ |
| 623 | + "smart wallet", |
| 624 | + "onchain", |
| 625 | + "spend permissions", |
| 626 | + "smart wallet", |
| 627 | + "account abstraction" |
| 628 | + ], |
| 629 | + "tags": [ |
| 630 | + "frontend", |
| 631 | + "account abstraction" |
| 632 | + ], |
| 633 | + "difficulty": "medium", |
| 634 | + "hide_table_of_contents": false, |
| 635 | + "displayed_sidebar": null, |
| 636 | + "last_updated": "Feb 6, 2025", |
| 637 | + "duration": "15 min read", |
| 638 | + "checksum": "f73fd21a59033f243172fc120fb3ee456c0063509e5acb6c610bab92669c56ad" |
| 639 | + }, |
589 | 640 | "1_verify-contract-with-basescan": { |
590 | 641 | "title": "Verify a Smart Contract using Basescan API", |
591 | 642 | "slug": "/verify-smart-contract-using-basescan", |
|
603 | 654 | "tags": [ |
604 | 655 | "smart contracts" |
605 | 656 | ], |
606 | | - "last_updated": "Sep 12, 2024", |
| 657 | + "last_updated": "Feb 6, 2025", |
607 | 658 | "duration": "12 min read", |
608 | | - "checksum": "c39c756f2f8f9940b0a041d5212d868f82aa0f949f11742d3fffedd37a5d2b35" |
| 659 | + "checksum": "81a6956e7124a78de64f9f5363580ddd5fb7563cada84c9981157594958c45bd" |
609 | 660 | }, |
610 | 661 | "2_1_simple-onchain-nfts": { |
611 | 662 | "title": "Simple Onchain NFTs", |
|
632 | 683 | "difficulty": "easy", |
633 | 684 | "hide_table_of_contents": false, |
634 | 685 | "displayed_sidebar": null, |
635 | | - "last_updated": "Aug 14, 2024", |
| 686 | + "last_updated": "Feb 6, 2025", |
636 | 687 | "duration": "26 min read", |
637 | | - "checksum": "ac2dc8225de421e3718eb14a2854be1d524132c5f4e1fe9f3e0f855515d68a3c" |
| 688 | + "checksum": "5b8b1179209e4dd292b9daac5ebbbcc106f58708c4741f946067ee9e5726a2a1" |
638 | 689 | }, |
639 | 690 | "2_2_complex-onchain-nfts": { |
640 | 691 | "title": "Complex Onchain NFTs", |
|
773 | 824 | "difficulty": "intermediate", |
774 | 825 | "hide_table_of_contents": false, |
775 | 826 | "displayed_sidebar": null, |
776 | | - "last_updated": "Sep 26, 2024", |
| 827 | + "last_updated": "Feb 6, 2025", |
777 | 828 | "duration": "14 min read", |
778 | | - "checksum": "28f843ebc47bc9d69b6bf040a6ec3d1b92237e78a462121d74ff70ab64d66018" |
| 829 | + "checksum": "b0ff9731c71720e9c60d8715387c402ce481177d1d48ff625cb098e8120f8626" |
779 | 830 | }, |
780 | 831 | "2_email-campaign-with-resend": { |
781 | 832 | "title": "Create Email Marketing Campaigns Onchain using Coinbase Smart Wallet + Resend", |
|
794 | 845 | ], |
795 | 846 | "difficulty": "beginner", |
796 | 847 | "displayed_sidebar": null, |
797 | | - "last_updated": "Sep 12, 2024", |
| 848 | + "last_updated": "Feb 6, 2025", |
798 | 849 | "duration": "21 min read", |
799 | | - "checksum": "e04c640da09b69b49d92c792d7cc6ddfddbcbee6facc44de85690c73da1f3aeb" |
| 850 | + "checksum": "8dc4ead004b163995712a5fe9563855f45bb7deb01d5a8f2c478ec31a914e8fe" |
800 | 851 | }, |
801 | 852 | "2_event-gate-nouns": { |
802 | 853 | "title": "Gate IRL Events with Nouns", |
|
845 | 896 | "difficulty": "intermediate", |
846 | 897 | "hide_table_of_contents": false, |
847 | 898 | "displayed_sidebar": null, |
848 | | - "last_updated": "Aug 13, 2024", |
| 899 | + "last_updated": "Feb 6, 2025", |
849 | 900 | "duration": "18 min read", |
850 | | - "checksum": "e20b430c2b1696b473625584d654f4a60e313c102127730553ab75f0bb54c568" |
| 901 | + "checksum": "13a921259d94befc5320549482f1ba7789c3945049ce4485e3c1577dc3004601" |
851 | 902 | }, |
852 | 903 | "2_ock-checkout-tutorial": { |
853 | 904 | "title": "Build a eCommerce App using Coinbase Commerce and OnchainKit", |
|
878 | 929 | "2_ock-fund-tutorial": { |
879 | 930 | "title": "Build a Smart Wallet Funding app with OnchainKit", |
880 | 931 | "slug": "/build-smart-wallet-funding-app", |
881 | | - "description": "Learn how to create a app that detects if a smart wallet has ETH and prompts users to add funds if needed.", |
| 932 | + "description": "Learn how to create an app that detects if a smart wallet has ETH and prompts users to add funds if needed.", |
882 | 933 | "author": "hughescoin", |
883 | 934 | "keywords": [ |
884 | 935 | "Account Abstraction", |
|
898 | 949 | ], |
899 | 950 | "difficulty": "medium", |
900 | 951 | "displayed_sidebar": null, |
901 | | - "last_updated": "Dec 6, 2024", |
| 952 | + "last_updated": "Feb 6, 2025", |
902 | 953 | "duration": "8 min read", |
903 | | - "checksum": "7c0f5e6d29bac8f14d6bc3f169994b35553e2076541a6be37d90d70f15d6406c" |
| 954 | + "checksum": "f5ad128bad310692e6e8e764b8ec9e23b5edd86a72eacfca3ee59d04720b727f" |
904 | 955 | }, |
905 | 956 | "2_paymaster-erc20-gas-payments": { |
906 | 957 | "title": "Enable ERC-20 Gas Payments with Coinbase Paymaster", |
|
950 | 1001 | ], |
951 | 1002 | "difficulty": "beginner", |
952 | 1003 | "displayed_sidebar": null, |
953 | | - "last_updated": "Dec 6, 2024", |
| 1004 | + "last_updated": "Feb 6, 2025", |
954 | 1005 | "duration": "15 min read", |
955 | | - "checksum": "c3637099bddcc48e1480b60b3bf560c1a6ee901b8ed7bf598e8bf8d26cb23200" |
| 1006 | + "checksum": "ad0d59700325fbd55cb6690ccb747efefe4347d3188489c0f30917b396a42721" |
956 | 1007 | }, |
957 | 1008 | "4_account-abstraction-with-biconomy": { |
958 | 1009 | "title": "Account Abstraction on Base using Biconomy", |
|
1031 | 1082 | "difficulty": "intermediate", |
1032 | 1083 | "hide_table_of_contents": false, |
1033 | 1084 | "displayed_sidebar": null, |
1034 | | - "last_updated": "Sep 12, 2024", |
| 1085 | + "last_updated": "Feb 6, 2025", |
1035 | 1086 | "duration": "46 min read", |
1036 | | - "checksum": "aabfa2f90ea76b3e76b29d22f15262c84734e21d657e27ebc81b09f7f23b142d" |
| 1087 | + "checksum": "3e7eb3dbdfc8806245b9f0bf04a184688127fcff3b9608dd13d946c91af67837" |
1037 | 1088 | }, |
1038 | 1089 | "4_hardhat-debugging": { |
1039 | 1090 | "title": "Hardhat: Debugging smart contracts", |
|
1134 | 1185 | "difficulty": "beginner", |
1135 | 1186 | "hide_table_of_contents": false, |
1136 | 1187 | "displayed_sidebar": null, |
1137 | | - "last_updated": "Jul 19, 2024", |
| 1188 | + "last_updated": "Feb 6, 2025", |
1138 | 1189 | "duration": "9 min read", |
1139 | | - "checksum": "91362e14b5f94b0bac604a0b17944fb8b41658f3e3b4c79510ea514f28f5d8d3" |
| 1190 | + "checksum": "7d5171f1aa6f16f640900e9b21ee6629ad2de0907fdf4c656cc3f3c0d2a2d694" |
1140 | 1191 | }, |
1141 | 1192 | "4_intro-to-foundry-setup": { |
1142 | 1193 | "title": "Foundry: Setting up Foundry with Base", |
|
1209 | 1260 | "difficulty": "easy", |
1210 | 1261 | "hide_table_of_contents": false, |
1211 | 1262 | "displayed_sidebar": null, |
1212 | | - "last_updated": "Sep 26, 2024", |
| 1263 | + "last_updated": "Feb 6, 2025", |
1213 | 1264 | "duration": "5 min read", |
1214 | | - "checksum": "17b2137efd031251de2beb3683b5c75006b8723bff189e59d655d86f5abc296d" |
| 1265 | + "checksum": "e8785b5a482cc64f2aa4f878a60ab0cdfaa321bc2d20d6ad57ff60d9782df88a" |
1215 | 1266 | }, |
1216 | 1267 | "5_cross-chain-with-ccip": { |
1217 | 1268 | "title": "Sending messages and tokens from Base to other chains using Chainlink CCIP", |
|
1234 | 1285 | ], |
1235 | 1286 | "difficulty": "intermediate", |
1236 | 1287 | "displayed_sidebar": null, |
1237 | | - "last_updated": "Aug 14, 2024", |
| 1288 | + "last_updated": "Feb 6, 2025", |
1238 | 1289 | "duration": "32 min read", |
1239 | | - "checksum": "a7cd33af8c6f1d4eb7853e2e348d956ce07e923923be0376484316c597733e7b" |
| 1290 | + "checksum": "05673c8e84071580e5352570b4292ee0e742b9f604d588bc709db08c9b7782d1" |
1240 | 1291 | }, |
1241 | 1292 | "5_cross-chain-with-layerzero": { |
1242 | 1293 | "title": "Sending messages from Base to other chains using LayerZero V2", |
|
1259 | 1310 | ], |
1260 | 1311 | "difficulty": "intermediate", |
1261 | 1312 | "displayed_sidebar": null, |
1262 | | - "last_updated": "Dec 6, 2024", |
| 1313 | + "last_updated": "Feb 6, 2025", |
1263 | 1314 | "duration": "34 min read", |
1264 | | - "checksum": "af94b371cf5c3798b44ea74a21184bf81ca97ab2c12d6194c7ff6093e164ec6f" |
| 1315 | + "checksum": "b15bcf927d3a6d70131a7fe7e118b7810fa4ec3b34bbacf0db861b85238c5ce7" |
1265 | 1316 | }, |
1266 | 1317 | "5_deploy-with-fleek": { |
1267 | 1318 | "title": "Deploy an Onchain App with Fleek", |
|
1282 | 1333 | "hide_table_of_contents": false, |
1283 | 1334 | "displayed_sidebar": null, |
1284 | 1335 | "image": "https://docs.base.org/img/base-learn-open-graph.png", |
1285 | | - "last_updated": "Aug 14, 2024", |
| 1336 | + "last_updated": "Feb 6, 2025", |
1286 | 1337 | "duration": "9 min read", |
1287 | | - "checksum": "d9302891627f1761507422bf35c361a30b343e77cb4d3981888ab70eb4fbd0ac" |
| 1338 | + "checksum": "4a06b8e349114fbc14b558e4721dee2077c8085b19dfcfeca4dc9a516a147ccf" |
1288 | 1339 | }, |
1289 | 1340 | "5_farcaster-to-openframe": { |
1290 | 1341 | "title": "Convert Farcaster Frame to Open Frame using OnchainKit", |
|
1401 | 1452 | ], |
1402 | 1453 | "difficulty": "intermediate", |
1403 | 1454 | "displayed_sidebar": null, |
1404 | | - "last_updated": "Aug 14, 2024", |
| 1455 | + "last_updated": "Feb 6, 2025", |
1405 | 1456 | "duration": "19 min read", |
1406 | | - "checksum": "46d96117b03b9225493b382afd3b8f5800001063296cb34eb48269481c7d15c6" |
| 1457 | + "checksum": "f1d856f7c75b125a4da32e33481b2b2745a064a39f2044887d0af25814dd08c3" |
1407 | 1458 | }, |
1408 | 1459 | "5_shopify-storefront-commerce": { |
1409 | 1460 | "title": "Deploy a Shopify Storefront with Coinbase Commerce", |
|
0 commit comments