diff --git a/app/(home)/academy/avalanche-developer.config.ts b/app/(home)/academy/avalanche-developer.config.ts deleted file mode 100644 index 695ae579171..00000000000 --- a/app/(home)/academy/avalanche-developer.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { AcademyLandingPageConfig } from '@/components/academy/shared/academy-types'; - -export const avalancheDeveloperAcademyLandingPageConfig: AcademyLandingPageConfig = { - id: 'avalanche-developer-academy', - name: 'Avalanche Developer Academy', - heroTitle: 'Avalanche', - heroAccent: 'Developer', - heroDescription: 'Master blockchain development with hands-on courses designed specifically for the Avalanche ecosystem. From fundamentals to advanced L1 development, gain the skills to build the next generation of blockchain applications.', - pathType: 'avalanche', - showBlogs: true, -}; diff --git a/app/(home)/academy/avalanche-l1/config.ts b/app/(home)/academy/avalanche-l1/config.ts new file mode 100644 index 00000000000..3732ef55d93 --- /dev/null +++ b/app/(home)/academy/avalanche-l1/config.ts @@ -0,0 +1,12 @@ +import type { AcademyLandingPageConfig } from '@/components/academy/shared/academy-types'; + +export const avalancheDeveloperAcademyLandingPageConfig: AcademyLandingPageConfig = { + id: 'academy-avalanche-l1', + name: 'Avalanche L1 Academy', + heroTitle: 'Avalanche', + heroAccent: 'L1', + heroAccentWords: ['L1 Developer', 'Blockchain', 'Entrepreneur'], + heroDescription: 'Learn through our Avalanche L1, Blockchain and Entrepreneur Academies. Use the navigation buttons below to switch between academies and discover each learning tree with courses tailored to your journey.', + pathType: 'avalanche', + showBlogs: true, +}; diff --git a/app/(home)/academy/avalanche-l1/page.tsx b/app/(home)/academy/avalanche-l1/page.tsx new file mode 100644 index 00000000000..420c077332c --- /dev/null +++ b/app/(home)/academy/avalanche-l1/page.tsx @@ -0,0 +1,151 @@ +import type { Metadata } from "next"; +import Link from "next/link"; +import { BookOpen, ArrowRight, ExternalLink } from "lucide-react"; +import { createMetadata } from "@/utils/metadata"; +import { blog } from "@/lib/source"; +import { AcademyLayout } from "@/components/academy/shared/academy-layout"; +import { avalancheDeveloperAcademyLandingPageConfig } from "./config"; +import { entrepreneurAcademyLandingPageConfig } from "../entrepreneur/config"; +import type { AcademyPathType } from "@/components/academy/shared/academy-types"; +import { Suspense } from "react"; + +export const metadata: Metadata = createMetadata({ + title: "Avalanche L1 Academy", + description: + "Learn Avalanche L1 development with courses designed for builders launching custom blockchains", + openGraph: { + url: "/academy/avalanche-l1", + images: { + url: "/api/og/academy", + width: 1200, + height: 630, + alt: "Avalanche L1 Academy", + }, + }, + twitter: { + images: { + url: "/api/og/academy", + width: 1200, + height: 630, + alt: "Avalanche L1 Academy", + }, + }, +}); + +type PageProps = { + searchParams?: { + path?: string; + }; +}; + +const isPathType = (value: string | undefined): value is AcademyPathType => { + return value === "avalanche" || value === "blockchain" || value === "entrepreneur"; +}; + +export default function AvalancheAcademyPage({ searchParams }: PageProps): React.ReactElement { + // Get all guides server-side + const blogPages = [...blog.getPages()] + .sort( + (a, b) => + new Date((b.data.date as string) ?? b.url).getTime() - + new Date((a.data.date as string) ?? a.url).getTime() + ) + .slice(0, 9); // Limit to 9 guides + + // Serialize blog data to pass to client component + const blogs = blogPages.map((page) => ({ + url: page.url, + data: { + title: page.data.title || "Untitled", + description: page.data.description || "", + topics: (page.data.topics as string[]) || [], + date: + page.data.date instanceof Date + ? page.data.date.toISOString() + : (page.data.date as string) || "", + }, + file: { + name: page.url, // Use URL instead of file.name in v16 + }, + })); + + const { features } = entrepreneurAcademyLandingPageConfig; + + const entrepreneurBlogsFromConfig = (features?.highlights?.blogs ?? []).map((blogEntry) => ({ + url: blogEntry.link, + data: { + title: blogEntry.title, + description: blogEntry.description, + topics: ['Entrepreneur'], + date: blogEntry.date || '', + }, + file: { + name: blogEntry.id, + }, + })); + + const entrepreneurHighlights = features?.highlights ? ( +
+
+ +

+ {features.highlights.title} +

+
+ +
+ {features.highlights.blogs.map((blog) => ( + +
+

+ {blog.title} +

+ +
+ + {blog.date && ( +

+ {blog.date} +

+ )} + +

+ {blog.description} +

+ +
+ Read article + +
+ + ))} +
+
+ ) : null; + + const initialPathType = isPathType(searchParams?.path) ? searchParams?.path : undefined; + + return ( +
Loading...
}> + 0 ? entrepreneurBlogsFromConfig : blogs, + }} + afterLearningPathByPath={{ + entrepreneur: entrepreneurHighlights, + }} + initialPathType={initialPathType} + /> +
+ ); +} diff --git a/app/(home)/academy/blockchain/config.ts b/app/(home)/academy/blockchain/config.ts new file mode 100644 index 00000000000..964ffdf4343 --- /dev/null +++ b/app/(home)/academy/blockchain/config.ts @@ -0,0 +1,13 @@ +import type { AcademyLandingPageConfig } from '@/components/academy/shared/academy-types'; + +export const blockchainAcademyLandingPageConfig: AcademyLandingPageConfig = { + id: 'academy-blockchain', + name: 'Blockchain Academy', + heroTitle: 'Blockchain', + heroAccent: 'Developer', + heroAccentWords: ['Developer', 'Smart Contracts', 'Privacy'], + heroDescription: 'Start your blockchain development journey from the ground up. Master the fundamentals of blockchain technology, learn Solidity programming, and explore privacy-enhancing technologies to build secure and innovative decentralized applications.', + pathType: 'blockchain', + showBlogs: true, +}; + diff --git a/app/(home)/academy/blockchain/page.tsx b/app/(home)/academy/blockchain/page.tsx new file mode 100644 index 00000000000..0d63365eed7 --- /dev/null +++ b/app/(home)/academy/blockchain/page.tsx @@ -0,0 +1,72 @@ +import type { Metadata } from "next"; +import { createMetadata } from "@/utils/metadata"; +import { blog } from "@/lib/source"; +import { AcademyLayout } from "@/components/academy/shared/academy-layout"; +import { blockchainAcademyLandingPageConfig } from "./config"; +import { Suspense } from "react"; + +export const metadata: Metadata = createMetadata({ + title: "Blockchain Academy", + description: + "Master blockchain fundamentals and smart contract development from the ground up", + openGraph: { + url: "/academy/blockchain", + images: { + url: "/api/og/academy", + width: 1200, + height: 630, + alt: "Blockchain Academy", + }, + }, + twitter: { + images: { + url: "/api/og/academy", + width: 1200, + height: 630, + alt: "Blockchain Academy", + }, + }, +}); + +export default function BlockchainAcademyPage(): React.ReactElement { + // Get all guides server-side + const blogPages = [...blog.getPages()] + .sort( + (a, b) => + new Date((b.data.date as string) ?? b.url).getTime() - + new Date((a.data.date as string) ?? a.url).getTime() + ) + .slice(0, 9); // Limit to 9 guides + + // Serialize blog data to pass to client component + const blogs = blogPages.map((page) => ({ + url: page.url, + data: { + title: page.data.title || "Untitled", + description: page.data.description || "", + topics: (page.data.topics as string[]) || [], + date: + page.data.date instanceof Date + ? page.data.date.toISOString() + : (page.data.date as string) || "", + }, + file: { + name: page.url, // Use URL instead of file.name in v16 + }, + })); + + return ( +
Loading...
}> + +
+ ); +} + diff --git a/app/(home)/codebase-entrepreneur-academy/codebase-entrepreneur.config.ts b/app/(home)/academy/entrepreneur/config.ts similarity index 93% rename from app/(home)/codebase-entrepreneur-academy/codebase-entrepreneur.config.ts rename to app/(home)/academy/entrepreneur/config.ts index 82027318e72..4405d00f03c 100644 --- a/app/(home)/codebase-entrepreneur-academy/codebase-entrepreneur.config.ts +++ b/app/(home)/academy/entrepreneur/config.ts @@ -1,16 +1,17 @@ import type { AcademyLandingPageConfig } from '@/components/academy/shared/academy-types'; -export const codebaseEntrepreneurLandingPageConfig: AcademyLandingPageConfig = { - id: 'codebase-entrepreneur', - name: 'Codebase Entrepreneur Academy', - heroTitle: 'Codebase', +export const entrepreneurAcademyLandingPageConfig: AcademyLandingPageConfig = { + id: 'academy-entrepreneur', + name: 'Entrepreneur Academy', + heroTitle: 'Avalanche', heroAccent: 'Entrepreneur', + heroAccentWords: ['Entrepreneur', 'Founder', 'Builder'], heroDescription: 'Join the next generation of Web3 entrepreneurs. Learn how to build, launch, and scale your blockchain startup with guidance from industry experts and successful founders.', pathType: 'entrepreneur', - showBlogs: false, + showBlogs: true, features: { - codebaseBlogs: { - title: 'Codebase Blogs', + highlights: { + title: 'Entrepreneur Highlights', blogs: [ { id: 'suzaku-raises-1-5m', diff --git a/app/(home)/codebase-entrepreneur-academy/page.tsx b/app/(home)/academy/entrepreneur/page.tsx similarity index 56% rename from app/(home)/codebase-entrepreneur-academy/page.tsx rename to app/(home)/academy/entrepreneur/page.tsx index 7a86faba023..4a11e36d7c9 100644 --- a/app/(home)/codebase-entrepreneur-academy/page.tsx +++ b/app/(home)/academy/entrepreneur/page.tsx @@ -1,52 +1,85 @@ import type { Metadata } from 'next'; import { createMetadata } from '@/utils/metadata'; import { AcademyLayout } from '@/components/academy/shared/academy-layout'; -import { codebaseEntrepreneurLandingPageConfig } from './codebase-entrepreneur.config'; +import { entrepreneurAcademyLandingPageConfig } from './config'; import { ArrowRight, BookOpen, ExternalLink } from 'lucide-react'; import Link from 'next/link'; +import { blog } from '@/lib/source'; +import { Suspense } from 'react'; export const metadata: Metadata = createMetadata({ - title: 'Codebase Entrepreneur Academy', + title: 'Entrepreneur Academy', description: 'Join the next generation of Web3 entrepreneurs. Learn how to build, launch, and scale your blockchain startup.', openGraph: { - url: '/codebase-entrepreneur-academy', + url: '/academy/entrepreneur', images: { - url: '/api/og/codebase-entrepreneur-academy', + url: '/api/og/academy', width: 1200, height: 630, - alt: 'Codebase Entrepreneur Academy', + alt: 'Entrepreneur Academy', }, }, twitter: { images: { - url: '/api/og/codebase-entrepreneur-academy', + url: '/api/og/academy', width: 1200, height: 630, - alt: 'Codebase Entrepreneur Academy', + alt: 'Entrepreneur Academy', }, }, }); -export default function CodebaseEntrepreneurPage(): React.ReactElement { - const { features } = codebaseEntrepreneurLandingPageConfig; +export default function EntrepreneurAcademyPage(): React.ReactElement { + const { features } = entrepreneurAcademyLandingPageConfig; - return ( - - {/* Codebase Blogs - inline rendering */} - {features?.codebaseBlogs && ( + const blogPages = [...blog.getPages()] + .sort( + (a, b) => + new Date((b.data.date as string) ?? b.url).getTime() - + new Date((a.data.date as string) ?? a.url).getTime() + ) + .slice(0, 9); + + const blogs = blogPages.map((page) => ({ + url: page.url, + data: { + title: page.data.title || "Untitled", + description: page.data.description || "", + topics: (page.data.topics as string[]) || [], + date: + page.data.date instanceof Date + ? page.data.date.toISOString() + : (page.data.date as string) || "", + }, + file: { + name: page.url, + }, + })); + + const entrepreneurBlogsFromConfig = (features?.highlights?.blogs ?? []).map((blogEntry) => ({ + url: blogEntry.link, + data: { + title: blogEntry.title, + description: blogEntry.description, + topics: ['Entrepreneur'], + date: blogEntry.date || '', + }, + file: { + name: blogEntry.id, + }, + })); + + const entrepreneurHighlights = features?.highlights ? (

- {features.codebaseBlogs.title} + {features.highlights.title}

- {features.codebaseBlogs.blogs.map((blog) => ( + {features.highlights.blogs.map((blog) => (
- )} - - } - /> + ) : null; + + return ( +
Loading...
}> + 0 ? entrepreneurBlogsFromConfig : blogs, + }} + afterLearningPathByPath={{ + entrepreneur: entrepreneurHighlights, + }} + /> + ); } diff --git a/app/(home)/academy/page.tsx b/app/(home)/academy/page.tsx index c7bc41d1d37..3fbbb77d532 100644 --- a/app/(home)/academy/page.tsx +++ b/app/(home)/academy/page.tsx @@ -1,63 +1 @@ -import type { Metadata } from "next"; -import { createMetadata } from "@/utils/metadata"; -import { blog } from "@/lib/source"; -import { AcademyLayout } from "@/components/academy/shared/academy-layout"; -import { avalancheDeveloperAcademyLandingPageConfig } from "@/app/(home)/academy/avalanche-developer.config"; - -export const metadata: Metadata = createMetadata({ - title: "Academy", - description: - "Learn blockchain development with courses designed for the Avalanche ecosystem", - openGraph: { - url: "/academy", - images: { - url: "/api/og/academy", - width: 1200, - height: 630, - alt: "Avalanche Academy", - }, - }, - twitter: { - images: { - url: "/api/og/academy", - width: 1200, - height: 630, - alt: "Avalanche Academy", - }, - }, -}); - -export default function AcademyPage(): React.ReactElement { - // Get all guides server-side - const blogPages = [...blog.getPages()] - .sort( - (a, b) => - new Date((b.data.date as string) ?? b.url).getTime() - - new Date((a.data.date as string) ?? a.url).getTime() - ) - .slice(0, 9); // Limit to 9 guides - - // Serialize blog data to pass to client component - const blogs = blogPages.map((page) => ({ - url: page.url, - data: { - title: page.data.title || "Untitled", - description: page.data.description || "", - topics: (page.data.topics as string[]) || [], - date: - page.data.date instanceof Date - ? page.data.date.toISOString() - : (page.data.date as string) || "", - }, - file: { - name: page.url, // Use URL instead of file.name in v16 - }, - })); - - return ( - - ); -} +export { default, metadata } from './avalanche-l1/page'; diff --git a/app/(home)/university/page.tsx b/app/(home)/university/page.tsx index 24b999aa32a..ab7a58a53eb 100644 --- a/app/(home)/university/page.tsx +++ b/app/(home)/university/page.tsx @@ -180,10 +180,10 @@ export default function Page() { href="/academy" /> } - href="/codebase-entrepreneur-academy" + href="/academy/entrepreneur" /> c.slug === page.slugs[0]); + // Check both official courses and entrepreneur courses + // page.slugs[1] contains the course slug (e.g., "avalanche-fundamentals", "foundations-web3-venture") + const course = COURSES.official.find((c) => c.slug === page.slugs[1]) + || COURSES.avalancheEntrepreneur.find((c) => c.slug === page.slugs[1]); return ( { + if (pathname.startsWith('/academy/entrepreneur')) { + return entrepreneurTree ?? defaultTree; + } + if (pathname.startsWith('/academy/blockchain')) { + return blockchainTree ?? defaultTree; + } + if (pathname === '/academy' || pathname.startsWith('/academy/avalanche-l1')) { + return avalancheTree ?? defaultTree; + } + return defaultTree; + }, [pathname, defaultTree, avalancheTree, blockchainTree, entrepreneurTree]); + + const academyOptions: DocsLayoutProps = useMemo( + () => ({ + tree: activeTree, + nav: { + enabled: false, + }, + sidebar: { + collapsible: false, + }, + }), + [activeTree], + ); + + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {children} + + + ); +} + diff --git a/app/academy/layout.tsx b/app/academy/layout.tsx index 37be6dc516a..b50d70c3102 100644 --- a/app/academy/layout.tsx +++ b/app/academy/layout.tsx @@ -1,127 +1,26 @@ -import { DocsLayout, type DocsLayoutProps } from 'fumadocs-ui/layouts/notebook'; import type { ReactNode } from 'react'; import { baseOptions } from '@/app/layout.config'; -import { academy } from '@/lib/source'; +import { academy, getAcademyTree } from '@/lib/source'; import { LayoutWrapper } from '@/app/layout-wrapper.client'; -import { DocsNavbarToggle } from '@/components/navigation/docs-navbar-toggle'; -import { ForceMobileSidebar } from '@/components/navigation/force-mobile-sidebar'; -import { NavbarDropdownInjector } from '@/components/navigation/navbar-dropdown-injector'; -import { AcademyLayoutClient } from './layout.client'; +import { AcademyDocsLayoutWrapper } from './layout-wrapper.client'; import './styles.css'; -const academyOptions: DocsLayoutProps = { - tree: academy.pageTree, - nav: { - enabled: false, - }, - sidebar: { - collapsible: false, // Disable sidebar collapse - academy doesn't need it - }, -}; - export default function Layout({ children }: { children: ReactNode }) { + const defaultTree = academy.pageTree; + const avalancheTree = getAcademyTree('/academy/avalanche-l1'); + const blockchainTree = getAcademyTree('/academy/blockchain'); + const entrepreneurTree = getAcademyTree('/academy/entrepreneur'); + return ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + {children} - + ); -} \ No newline at end of file +} diff --git a/app/academy/styles.css b/app/academy/styles.css index 6c742d91052..7bfa6d46513 100644 --- a/app/academy/styles.css +++ b/app/academy/styles.css @@ -350,6 +350,7 @@ body[data-layout="academy"]:has([data-granite-banner]) #nd-docs-layout { /* Remove padding-top from layout when banner is visible on academy routes */ body[data-layout="academy"] #nd-docs-layout { padding-top: 0px !important; + background: hsl(var(--background)) !important; } /* Set custom padding-top for table of contents on academy routes */ @@ -357,3 +358,8 @@ body[data-layout="academy"] #nd-toc { padding-top: calc(var(--spacing) * 12) !important; } +/* Ensure body has proper background color for academy */ +body[data-layout="academy"] { + background: hsl(var(--background)) !important; +} + diff --git a/app/api/chat/route.ts b/app/api/chat/route.ts index 9625cda7f1b..ec1bae4c970 100644 --- a/app/api/chat/route.ts +++ b/app/api/chat/route.ts @@ -172,11 +172,11 @@ export async function POST(req: Request) { CRITICAL URL RULES - MUST FOLLOW TO PREVENT 404 ERRORS: - **USE EXACT URLS ONLY** - NEVER shorten, truncate, or modify URLs from the context -- **COMPLETE PATHS REQUIRED** - /academy/avalanche-fundamentals/04-creating-an-l1 is WRONG, use /academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 +- **COMPLETE PATHS REQUIRED** - /academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1 is WRONG, use /academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 - Academy content is at /academy/... NOT /docs/academy/... - Documentation is at /docs/... - NEVER prefix academy URLs with /docs/ -- When you see a page title with URL in parentheses like "Creating an L1 (/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1)", use the FULL URL +- When you see a page title with URL in parentheses like "Creating an L1 (/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1)", use the FULL URL - Partial or shortened URLs WILL cause 404 errors - ALWAYS use the complete path from the context CORE RESPONSIBILITIES: @@ -269,9 +269,9 @@ ALWAYS respond with: "You can get testnet AVAX from the [Console Faucet](https:/ CITATION FORMAT - EXACT URLs REQUIRED: - **COPY URLS EXACTLY** from the documentation context - do NOT shorten or modify them - When you see "Page Title (/exact/path/to/page)", use the COMPLETE path: https://build.avax.network/exact/path/to/page -- Example: "Creating an L1 (/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1)" - → Link as: https://build.avax.network/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 - → NOT: https://build.avax.network/academy/avalanche-fundamentals/04-creating-an-l1 (missing final segment) +- Example: "Creating an L1 (/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1)" + → Link as: https://build.avax.network/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 + → NOT: https://build.avax.network/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1 (missing final segment) - NEVER prefix academy with /docs/ - Academy URLs are /academy/... NOT /docs/academy/... - NEVER truncate URLs - missing segments cause 404 errors - Quote relevant sections when helpful @@ -349,20 +349,20 @@ URL RULES - CRITICAL FOR PREVENTING 404 ERRORS: 2. **NEVER shorten, truncate, or modify URLs** - Use the COMPLETE path exactly as shown 3. **NEVER construct or guess URLs** - Only use URLs that appear in full in the context 4. **NEVER mix prefixes** - Academy URLs use /academy/, NOT /docs/academy/ -5. **USE FULL PATHS** - /academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 NOT /academy/avalanche-fundamentals/04-creating-an-l1 +5. **USE FULL PATHS** - /academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 NOT /academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1 6. Every URL you provide MUST be the complete path from the context or valid URLs list 7. When you see "Page Title (/full/path/to/page)" in the context, use the ENTIRE path in parentheses 8. Partial URLs WILL cause 404 errors - there is no auto-redirect to index pages Examples of what NOT to do: - ❌ https://build.avax.network/docs/academy/... (Never prefix academy with /docs/) -- ❌ https://build.avax.network/academy/avalanche-fundamentals/04-creating-an-l1 (Truncated URL - missing /01-creating-an-l1) +- ❌ https://build.avax.network/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1 (Truncated URL - missing /01-creating-an-l1) - ❌ https://build.avax.network/docs/nodes/system-requirements (if not in valid URLs) - ❌ https://build.avax.network/academy/interchain-messaging/intro (if not in valid URLs) Examples of what TO do: -- ✅ Use EXACT URLs: https://build.avax.network/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 -- ✅ Copy the FULL path from context: "Creating an L1 (/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1)" +- ✅ Use EXACT URLs: https://build.avax.network/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 +- ✅ Copy the FULL path from context: "Creating an L1 (/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1)" - ✅ Never shorten URLs - use the complete path even if it seems long - ✅ Always verify the URL is complete by checking it matches what's in the context - ✅ Double-check the valid URLs list before every link @@ -372,7 +372,7 @@ The complete list of valid URLs will be provided at the end of this prompt. FINAL REMINDER ABOUT URLS: - The documentation context shows pages like "Title (/full/path/to/page)" - USE THE ENTIRE PATH - Shortened URLs WILL NOT WORK - there are no automatic redirects to index pages -- If you cite /academy/avalanche-fundamentals/04-creating-an-l1 instead of /academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1, it WILL 404 +- If you cite /academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1 instead of /academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1, it WILL 404 - ALWAYS use the COMPLETE URL exactly as shown in the context or valid URLs list FOLLOW-UP QUESTIONS - CRITICAL FORMAT: diff --git a/app/codebase-entrepreneur-academy/[...slug]/page.tsx b/app/codebase-entrepreneur-academy/[...slug]/page.tsx deleted file mode 100644 index f1f16204ac5..00000000000 --- a/app/codebase-entrepreneur-academy/[...slug]/page.tsx +++ /dev/null @@ -1,201 +0,0 @@ -import type { Metadata } from "next"; -import { - DocsPage, - DocsBody, - DocsTitle, - DocsDescription, -} from "fumadocs-ui/page"; -import { Card, Cards } from "fumadocs-ui/components/card"; -import defaultComponents from "fumadocs-ui/mdx"; -import { notFound } from "next/navigation"; -import { codebaseEntrepreneurAcademy } from "@/lib/source"; -import { createMetadata } from "@/utils/metadata"; -import IndexedDBComponent from "@/components/tracker"; -import { Callout } from "fumadocs-ui/components/callout"; -import Instructors from "@/components/content-design/instructor"; -import Link from "next/link"; -import { Button, buttonVariants } from "@/components/ui/button"; -import { cn } from "@/utils/cn"; -import COURSES from "@/content/courses"; -import { Popup, PopupContent, PopupTrigger } from "fumadocs-twoslash/ui"; -import { Accordion, Accordions } from "fumadocs-ui/components/accordion"; -import { Step, Steps } from "fumadocs-ui/components/steps"; -import { Tab, Tabs } from "fumadocs-ui/components/tabs"; -import { TypeTable } from "fumadocs-ui/components/type-table"; -import { AutoTypeTable } from "@/components/content-design/type-table"; -import { Heading } from "fumadocs-ui/components/heading"; -import Quiz from "@/components/quizzes/quiz"; -import YouTube from "@/components/content-design/youtube"; -import Gallery from "@/components/content-design/gallery"; -import { - CodeBlock, - type CodeBlockProps, - Pre, -} from "fumadocs-ui/components/codeblock"; -import Mermaid from "@/components/content-design/mermaid"; -import { Feedback } from "@/components/ui/feedback"; -import { SidebarActions } from "@/components/ui/sidebar-actions"; -import posthog from "posthog-js"; -import Flashcard from "@/components/flashcards/flashcard"; - -export const dynamicParams = false; - -export default async function Page(props: { - params: Promise<{ slug?: string[] }>; -}) { - const params = await props.params; - const page = codebaseEntrepreneurAcademy.getPage(params.slug); - if (!page) notFound(); - - const path = `content/codebase-entrepreneur${page.url.replace('/codebase-entrepreneur/', '/')}.mdx`; - const editUrl = `https://github.com/ava-labs/builders-hub/edit/master/${path}`; - const MDX = page.data.body; - const course = COURSES.codebaseEntrepreneur.find( - (c) => c.slug === page.slugs[0] - ); - - return ( - - -
-
-
Instructors:
- -
- - Join Telegram Course Chat - -
- - ), - }} - > - {page.data.title || "Untitled"} - {page.data.description} - - - , - h2: (props) => , - h3: (props) => , - h4: (props) => , - h5: (props) => , - h6: (props) => , - Button, - Cards, - Card, - Callout, - Accordion, - Accordions, - AutoTypeTable, - Gallery, - Mermaid, - Quiz, - Flashcard, - Popup, - PopupContent, - PopupTrigger, - Step, - Steps, - Tab, - Tabs, - TypeTable, - YouTube, - pre: ({ - title, - className, - icon, - allowCopy, - ...props - }: CodeBlockProps) => ( - -
-              
-            ),
-          }}
-        />
-      
-       {
-          "use server";
-          await posthog.capture("on_rate_document", feedback);
-        }}
-      />
-    
-  );
-}
-
-export async function generateMetadata(props: {
-  params: Promise<{ slug: string[] }>;
-}): Promise {
-  const params = await props.params;
-  const page = codebaseEntrepreneurAcademy.getPage(params.slug);
-
-  if (!page) notFound();
-
-  const description =
-    page.data.description ??
-    "Learn entrepreneurship with Codebase Entrepreneur Academy";
-
-  const imageParams = new URLSearchParams();
-  imageParams.set(
-    "title",
-    `${page.data.title} | Codebase Entrepreneur Academy`
-  );
-  imageParams.set("description", description);
-
-  const image = {
-    alt: "Banner",
-    url: `/api/og/codebase-entrepreneur-academy/${
-      params.slug[0]
-    }?${imageParams.toString()}`,
-    width: 1200,
-    height: 630,
-  };
-
-  return createMetadata({
-    title: page.data.title,
-    description,
-    openGraph: {
-      url: `/codebase-entrepreneur-academy/${page.slugs.join("/")}`,
-      images: image,
-    },
-    twitter: {
-      images: image,
-    },
-  });
-}
-
-export async function generateStaticParams() {
-  return codebaseEntrepreneurAcademy.getPages().map((page) => ({
-    slug: page.slugs,
-  }));
-}
diff --git a/app/codebase-entrepreneur-academy/layout.tsx b/app/codebase-entrepreneur-academy/layout.tsx
deleted file mode 100644
index 5c4b0881e7f..00000000000
--- a/app/codebase-entrepreneur-academy/layout.tsx
+++ /dev/null
@@ -1,127 +0,0 @@
-import { DocsLayout, type DocsLayoutProps } from 'fumadocs-ui/layouts/notebook';
-import type { ReactNode } from 'react';
-import { baseOptions, docsMenu, consoleMenu, integrationsMenu, userMenu } from '@/app/layout.config';
-import { codebaseEntrepreneurAcademy } from '@/lib/source';
-import { AvalancheLogo } from '@/components/navigation/avalanche-logo';
-
-const codebaseEntrepreneurOptions: DocsLayoutProps = {
-  ...baseOptions,
-  nav: {
-    mode: "top" as const,
-    title: (
-      <>
-        {}
-        Codebase Entrepreneur Academy
-      
-    ),
-    url: '/codebase-entrepreneur-academy',
-  },
-  tree: codebaseEntrepreneurAcademy.pageTree,
-  links: [
-    consoleMenu,
-    docsMenu,
-    integrationsMenu,
-    userMenu
-  ],
-};
-
-export default function Layout({ children }: { children: ReactNode }) {
-  return (
-      
-        
-          
-            
-              
-            
-            
-              
-              
-              
-              
-              
-              
-              
-              
-              
-              
-            
-            
-              
-                
-                
-              
-            
-          
-        
-        {children}
-      
-  );
-}
diff --git a/app/layout.config.tsx b/app/layout.config.tsx
index a18569bfd7a..205b60664c8 100644
--- a/app/layout.config.tsx
+++ b/app/layout.config.tsx
@@ -27,7 +27,6 @@ import {
   Earth,
   ArrowLeftRight,
   Shield,
-  Triangle,
   GraduationCap,
   BookOpen,
   Users,
@@ -233,10 +232,10 @@ export const academyMenu: LinkItemType = {
         className: 'md:row-span-2',
       },
       icon: ,
-      text: 'Avalanche Developer Academy',
+      text: 'Avalanche L1 Academy',
       description:
         'Master blockchain development with comprehensive courses on Avalanche fundamentals, L1s, and advanced topics',
-      url: '/academy',
+      url: '/academy?path=avalanche-l1',
     },
     {
       menu: {
@@ -244,7 +243,7 @@ export const academyMenu: LinkItemType = {
           
Codebase Entrepreneur Academy, - text: 'Codebase Entrepreneur Academy', + text: 'Entrepreneur Academy', description: 'Transform from builder to founder with courses on business fundamentals, fundraising, and go-to-market strategies', - url: '/codebase-entrepreneur-academy', + url: '/academy?path=entrepreneur', }, { - icon: , - text: 'Avalanche Fundamentals', - description: - 'Get a high level overview of Avalanche Consensus, L1s and VMs', - url: '/academy/avalanche-fundamentals', menu: { - className: 'lg:col-start-3 lg:row-start-1', + banner: ( +
+ Blockchain Academy +
+ ), + className: 'md:row-span-2 lg:col-start-3', }, - }, - { - icon: , - text: 'Check All Courses', + icon: , + text: 'Blockchain Academy', description: - 'Supercharge your learning journey with expert-curated courses offered by Avalanche Academy and earn certificates.', - url: '/academy', - menu: { - className: 'lg:col-start-3', - }, + 'Build a rock-solid foundation in blockchain fundamentals, smart contracts, and privacy-preserving tech.', + url: '/academy?path=blockchain', }, ], }; diff --git a/components/academy/learning-path-configs/avalanche-developer.config.ts b/components/academy/learning-path-configs/avalanche.config.ts similarity index 59% rename from components/academy/learning-path-configs/avalanche-developer.config.ts rename to components/academy/learning-path-configs/avalanche.config.ts index 020dc5d5b0a..12531c31680 100644 --- a/components/academy/learning-path-configs/avalanche-developer.config.ts +++ b/components/academy/learning-path-configs/avalanche.config.ts @@ -2,120 +2,87 @@ import { BookOpen, ArrowLeftRight, Layers, Coins, Code, Shield } from 'lucide-re import type { CourseNode } from '../learning-tree'; export const avalancheLearningPaths: CourseNode[] = [ - // Foundation Layer - { - id: "blockchain-fundamentals", - name: "Blockchain Fundamentals", - description: "Start here to learn about blockchain and solidity basics", - slug: "blockchain-fundamentals", - category: "Fundamentals", - position: { x: 50, y: 0 }, - mobileOrder: 1 - }, - // Second Layer - Intro to Solidity - { - id: "intro-to-solidity", - name: "Intro to Solidity", - description: "Start here to learn about Solidity basics with Foundry", - slug: "solidity-foundry", - category: "Fundamentals", - dependencies: ["avalanche-fundamentals"], - position: { x: 20, y: 300 }, - mobileOrder: 2 - }, - - // Third Layer - Avalanche Fundamentals + // Foundation Layer - Avalanche Fundamentals { id: "avalanche-fundamentals", name: "Avalanche Fundamentals", description: "Learn about Avalanche Consensus, Multi-Chain Architecture, and VMs", - slug: "avalanche-fundamentals", + slug: "avalanche-l1/avalanche-fundamentals", category: "Fundamentals", - dependencies: ["blockchain-fundamentals"], - position: { x: 50, y: 150 }, - mobileOrder: 3 + position: { x: 50, y: 0 }, + mobileOrder: 1 }, - // Fourth Layer - Branching paths + // Second Layer - Branching paths { id: "customizing-evm", name: "Customizing the EVM", description: "Add custom precompiles and configure the EVM", - slug: "customizing-evm", + slug: "avalanche-l1/customizing-evm", category: "VM Customization", dependencies: ["avalanche-fundamentals"], - position: { x:80, y: 300 }, - mobileOrder: 10 - }, - { - id: "encrypted-erc", - name: "Encrypted ERC", - description: "Learn about eERC tokens to add privacy to your applications", - slug: "encrypted-erc", - category: "Privacy", - dependencies: ["intro-to-solidity"], - position: { x: 20, y: 450 }, - mobileOrder: 11 + position: { x: 87.5, y: 250 }, + mobileOrder: 2 }, { id: "interchain-messaging", name: "Interchain Messaging", description: "Build apps leveraging Avalanche's Interchain Messaging", - slug: "interchain-messaging", + slug: "avalanche-l1/interchain-messaging", category: "Interoperability", dependencies: ["avalanche-fundamentals"], - position: { x: 65, y: 450 }, - mobileOrder: 4 + position: { x: 62.5, y: 250 }, + mobileOrder: 3 }, { id: "permissioned-l1s", name: "Permissioned L1s", description: "Create and manage permissioned blockchains with Proof of Authority", - slug: "permissioned-l1s", + slug: "avalanche-l1/permissioned-l1s", category: "L1 Development", dependencies: ["avalanche-fundamentals"], - position: { x: 35, y: 600 }, - mobileOrder: 7 + position: { x: 12.5, y: 250 }, + mobileOrder: 6 }, { id: "l1-native-tokenomics", name: "L1 Native Tokenomics", description: "Design L1 economics with custom token, native minting rights and transaction fees", - slug: "l1-native-tokenomics", + slug: "avalanche-l1/l1-native-tokenomics", category: "L1 Tokenomics", dependencies: ["avalanche-fundamentals"], - position: { x: 50, y: 750 }, - mobileOrder: 8 + position: { x: 37.5, y: 250 }, + mobileOrder: 7 }, - // Fifth Layer - Advanced topics (adjusted for no overlap) + // Third Layer - Advanced topics { id: "interchain-token-transfer", name: "Interchain Token Transfer", description: "Transfer assets between chains using Interchain Messaging", - slug: "interchain-token-transfer", + slug: "avalanche-l1/interchain-token-transfer", category: "Interoperability", dependencies: ["interchain-messaging"], - position: { x: 80, y: 600 }, - mobileOrder: 5 + position: { x: 82.5, y: 500 }, + mobileOrder: 4 }, { id: "icm-chainlink", name: "Chainlink via ICM", description: "Use Chainlink services on an L1 through the Interchain Messaging", - slug: "icm-chainlink", + slug: "avalanche-l1/icm-chainlink", category: "Interoperability", dependencies: ["interchain-messaging"], - position: { x: 65, y: 900 }, - mobileOrder: 6 + position: { x: 52.5, y: 500 }, + mobileOrder: 5 }, { id: "permissionless-l1s", name: "Permissionless L1s", description: "Create and manage permissionless blockchains with Proof of Stake", - slug: "permissionless-l1s", + slug: "avalanche-l1/permissionless-l1s", category: "L1 Development", dependencies: ["permissioned-l1s", "l1-native-tokenomics"], - position: { x: 35, y: 900 }, - mobileOrder: 9 + position: { x: 22.5, y: 500 }, + mobileOrder: 8 }, ]; @@ -124,36 +91,35 @@ export const avalancheCategoryStyles = { gradient: "from-blue-500 to-blue-600", icon: BookOpen, lightBg: "bg-blue-50", - darkBg: "dark:bg-blue-950/30" + darkBg: "dark:bg-blue-950/30", + label: "Fundamentals" }, "Interoperability": { gradient: "from-purple-500 to-purple-600", icon: ArrowLeftRight, lightBg: "bg-purple-50", - darkBg: "dark:bg-purple-950/30" + darkBg: "dark:bg-purple-950/30", + label: "Interoperability" }, "L1 Development": { gradient: "from-emerald-500 to-emerald-600", icon: Layers, lightBg: "bg-emerald-50", - darkBg: "dark:bg-emerald-950/30" + darkBg: "dark:bg-emerald-950/30", + label: "L1 Development" }, "L1 Tokenomics": { gradient: "from-red-400 to-red-500", icon: Coins, lightBg: "bg-red-50", - darkBg: "dark:bg-red-950/30" + darkBg: "dark:bg-red-950/30", + label: "L1 Tokenomics" }, "VM Customization": { gradient: "from-orange-500 to-orange-600", icon: Code, lightBg: "bg-orange-50", - darkBg: "dark:bg-orange-950/30" - }, - "Privacy": { - gradient: "from-indigo-500 to-indigo-600", - icon: Shield, - lightBg: "bg-indigo-50", - darkBg: "dark:bg-indigo-950/30" + darkBg: "dark:bg-orange-950/30", + label: "VM Customization" }, }; diff --git a/components/academy/learning-path-configs/blockchain.config.ts b/components/academy/learning-path-configs/blockchain.config.ts new file mode 100644 index 00000000000..a7c603922f0 --- /dev/null +++ b/components/academy/learning-path-configs/blockchain.config.ts @@ -0,0 +1,62 @@ +import { BookOpen, Code, Shield } from 'lucide-react'; +import type { CourseNode } from '../learning-tree'; + +export const blockchainLearningPaths: CourseNode[] = [ + // Foundation Layer + { + id: "blockchain-fundamentals", + name: "Blockchain Fundamentals", + description: "Start here to learn about blockchain and solidity basics", + slug: "blockchain/blockchain-fundamentals", + category: "Fundamentals", + position: { x: 50, y: 0 }, + mobileOrder: 1 + }, + // Second Layer - Intro to Solidity + { + id: "intro-to-solidity", + name: "Intro to Solidity", + description: "Start here to learn about Solidity basics with Foundry", + slug: "blockchain/solidity-foundry", + category: "Development", + dependencies: ["blockchain-fundamentals"], + position: { x: 50, y: 250 }, + mobileOrder: 2 + }, + // Third Layer - Encrypted ERC + { + id: "encrypted-erc", + name: "Encrypted ERC", + description: "Learn about eERC tokens to add privacy to your applications", + slug: "blockchain/encrypted-erc", + category: "Privacy", + dependencies: ["intro-to-solidity"], + position: { x: 50, y: 500 }, + mobileOrder: 3 + }, +]; + +export const blockchainCategoryStyles = { + "Fundamentals": { + gradient: "from-blue-500 to-blue-600", + icon: BookOpen, + lightBg: "bg-blue-50", + darkBg: "dark:bg-blue-950/30", + label: "Fundamentals" + }, + "Development": { + gradient: "from-orange-500 to-orange-600", + icon: Code, + lightBg: "bg-orange-50", + darkBg: "dark:bg-orange-950/30", + label: "Development" + }, + "Privacy": { + gradient: "from-indigo-500 to-indigo-600", + icon: Shield, + lightBg: "bg-indigo-50", + darkBg: "dark:bg-indigo-950/30", + label: "Privacy" + }, +}; + diff --git a/components/academy/learning-path-configs/codebase-entrepreneur.config.ts b/components/academy/learning-path-configs/entrepreneur.config.ts similarity index 64% rename from components/academy/learning-path-configs/codebase-entrepreneur.config.ts rename to components/academy/learning-path-configs/entrepreneur.config.ts index 2a501435934..8549cdb0716 100644 --- a/components/academy/learning-path-configs/codebase-entrepreneur.config.ts +++ b/components/academy/learning-path-configs/entrepreneur.config.ts @@ -4,10 +4,10 @@ import type { CourseNode } from '../learning-tree'; export const entrepreneurLearningPaths: CourseNode[] = [ // Foundation Layer { - id: "codebase-foundation", + id: "avalanche-foundation", name: "Level 1: Foundations of a Web3 Venture", description: "Establishing essential blockchain and business fundamentals.", - slug: "foundations-web3-venture", + slug: "entrepreneur/foundations-web3-venture", category: "Fundamentals", position: { x: 50, y: 0 }, mobileOrder: 1 @@ -15,35 +15,35 @@ export const entrepreneurLearningPaths: CourseNode[] = [ // Second Layer { - id: "codebase-gtm", + id: "avalanche-gtm", name: "Level 2: Go-To-Market Strategist", description: "Master go-to-market strategies for Web3 products and services.", - slug: "go-to-market", + slug: "entrepreneur/go-to-market", category: "Business Strategy", - dependencies: ["codebase-foundation"], - position: { x: 30, y: 200 }, + dependencies: ["avalanche-foundation"], + position: { x: 30, y: 250 }, mobileOrder: 2 }, { - id: "codebase-web3-community-architect", + id: "avalanche-web3-community-architect", name: "Level 3: Web3 Community Architect", description: "Learn to build and manage thriving Web3 communities.", - slug: "web3-community-architect", + slug: "entrepreneur/web3-community-architect", category: "Community", - dependencies: ["codebase-foundation"], - position: { x: 70, y: 200 }, + dependencies: ["avalanche-foundation"], + position: { x: 70, y: 250 }, mobileOrder: 3 }, // Third Layer { - id: "codebase-fundraising", + id: "avalanche-fundraising", name: "Level 4: Fundraising & Finance Pro", description: "Master fundraising strategies and financial management in Web3.", - slug: "fundraising-finance", + slug: "entrepreneur/fundraising-finance", category: "Finance", - dependencies: ["codebase-web3-community-architect", "codebase-gtm"], - position: { x: 50, y: 400 }, + dependencies: ["avalanche-web3-community-architect", "avalanche-gtm"], + position: { x: 50, y: 500 }, mobileOrder: 4 } ]; @@ -53,24 +53,28 @@ export const entrepreneurCategoryStyles = { gradient: "from-blue-500 to-blue-600", icon: BookOpen, lightBg: "bg-blue-50", - darkBg: "dark:bg-blue-950/30" + darkBg: "dark:bg-blue-950/30", + label: "Fundamentals" }, "Community": { gradient: "from-purple-500 to-purple-600", icon: Users, lightBg: "bg-purple-50", - darkBg: "dark:bg-purple-950/30" + darkBg: "dark:bg-purple-950/30", + label: "Community" }, "Business Strategy": { gradient: "from-emerald-500 to-emerald-600", icon: Lightbulb, lightBg: "bg-emerald-50", - darkBg: "dark:bg-emerald-950/30" + darkBg: "dark:bg-emerald-950/30", + label: "Business Strategy" }, "Finance": { gradient: "from-yellow-500 to-yellow-600", icon: Coins, lightBg: "bg-yellow-50", - darkBg: "dark:bg-yellow-950/30" + darkBg: "dark:bg-yellow-950/30", + label: "Finance" } }; diff --git a/components/academy/learning-tree.tsx b/components/academy/learning-tree.tsx index 9caec622185..250850ac481 100644 --- a/components/academy/learning-tree.tsx +++ b/components/academy/learning-tree.tsx @@ -19,20 +19,38 @@ export interface CourseNode { } // Import configs -import { avalancheLearningPaths, avalancheCategoryStyles } from './learning-path-configs/avalanche-developer.config'; -import { entrepreneurLearningPaths, entrepreneurCategoryStyles } from './learning-path-configs/codebase-entrepreneur.config'; +import { avalancheLearningPaths, avalancheCategoryStyles } from './learning-path-configs/avalanche.config'; +import { entrepreneurLearningPaths, entrepreneurCategoryStyles } from './learning-path-configs/entrepreneur.config'; +import { blockchainLearningPaths, blockchainCategoryStyles } from './learning-path-configs/blockchain.config'; interface LearningTreeProps { - pathType?: 'avalanche' | 'entrepreneur'; + pathType?: 'avalanche' | 'entrepreneur' | 'blockchain'; } export default function LearningTree({ pathType = 'avalanche' }: LearningTreeProps) { const [hoveredNode, setHoveredNode] = React.useState(null); + const [hoveredCategory, setHoveredCategory] = React.useState(null); const isMobile = useIsMobile(); // Select the appropriate learning paths and styles based on pathType - const learningPaths = pathType === 'avalanche' ? avalancheLearningPaths : entrepreneurLearningPaths; - const categoryStyles = pathType === 'avalanche' ? avalancheCategoryStyles : entrepreneurCategoryStyles; + const learningPaths = pathType === 'avalanche' + ? avalancheLearningPaths + : pathType === 'blockchain' + ? blockchainLearningPaths + : entrepreneurLearningPaths; + const categoryStyles = pathType === 'avalanche' + ? avalancheCategoryStyles + : pathType === 'blockchain' + ? blockchainCategoryStyles + : entrepreneurCategoryStyles; + + const resolveSlug = (slug: string) => { + if (pathType === 'entrepreneur') { + const cleanSlug = slug.replace(/^entrepreneur\//, ''); + return `/academy/entrepreneur/${cleanSlug}`; + } + return `/academy/${slug}`; + }; // Function to get all ancestor nodes (dependencies) of a given node const getAncestors = (nodeId: string, ancestors: Set = new Set()): Set => { @@ -65,24 +83,41 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro const maxY = Math.max(...learningPaths.map(node => node.position.y)) + 250; // Legend component - const Legend = ({ isMobile = false }: { isMobile?: boolean }) => ( -
+ const Legend = ({ isMobile = false, vertical = false }: { isMobile?: boolean; vertical?: boolean }) => ( +
{Object.entries(categoryStyles).map(([category, style]) => { const Icon = style.icon; + const isHovered = hoveredCategory === category; return ( -
+
setHoveredCategory(category)} + onMouseLeave={() => setHoveredCategory(null)} + >
{category} + "font-medium text-zinc-600 dark:text-zinc-400 transition-colors duration-200", + isHovered && "text-zinc-900 dark:text-zinc-100" + )}>{style.label || category}
); })} @@ -152,6 +187,7 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro {sortedPaths.map((node, index) => { const style = categoryStyles[node.category as keyof typeof categoryStyles]; const Icon = style?.icon || BookOpen; + const isCategoryHovered = hoveredCategory === node.category; return (
@@ -178,19 +214,28 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro )}
{/* Category icon */}
setHoveredNode(node.id)} onMouseLeave={() => setHoveredNode(null)} >
{/* Category icon */}
- {/* Legend at top for all learning trees */} -
- + <> + {/* Vertical Legend on far left of screen - positioned absolutely relative to viewport */} +
+
- {/* Mobile Layout - visible on small screens, hidden on lg and up */} -
- -
+
+ {/* Mobile Layout - visible on small screens, hidden on lg and up */} +
+ {/* Legend at top for mobile */} +
+ +
+ +
- {/* Desktop Layout - hidden on small screens, visible on lg and up */} -
- + {/* Desktop Layout - hidden on small screens, visible on lg and up */} +
+ +
-
- + ); } \ No newline at end of file diff --git a/components/academy/shared/academy-bubble.config.tsx b/components/academy/shared/academy-bubble.config.tsx index aa05edeb041..e8888809585 100644 --- a/components/academy/shared/academy-bubble.config.tsx +++ b/components/academy/shared/academy-bubble.config.tsx @@ -2,11 +2,13 @@ import BubbleNavigation from '@/components/navigation/BubbleNavigation'; import type { BubbleNavigationConfig } from '@/components/navigation/bubble-navigation.types'; +import type { AcademyPathType } from './academy-types'; export const academyBubbleConfig: BubbleNavigationConfig = { items: [ - { id: "avalanche", label: "Avalanche Developer", href: "/academy" }, - { id: "entrepreneur", label: "Codebase Entrepreneur", href: "/codebase-entrepreneur-academy" }, + { id: "avalanche", label: "Avalanche L1", href: "/academy/avalanche-l1" }, + { id: "blockchain", label: "Blockchain", href: "/academy/blockchain" }, + { id: "entrepreneur", label: "Entrepreneur", href: "/academy/entrepreneur" }, ], activeColor: "bg-red-600", darkActiveColor: "dark:bg-red-500", @@ -17,15 +19,41 @@ export const academyBubbleConfig: BubbleNavigationConfig = { buttonSpacing: "space-x-3", }; -export function AcademyBubbleNav() { +interface AcademyBubbleNavProps { + activePath?: AcademyPathType; + onChange?: (path: AcademyPathType) => void; +} + +export function AcademyBubbleNav(props: AcademyBubbleNavProps = {}) { + const { activePath, onChange } = props; + + if (!activePath || !onChange) { const getActiveItem = (pathname: string, items: typeof academyBubbleConfig.items) => { - if (pathname === "/codebase-entrepreneur-academy") { + if (pathname === "/academy/entrepreneur" || pathname.startsWith("/academy/entrepreneur/")) { return "entrepreneur"; - } else if (pathname === "/academy" || pathname.startsWith("/academy/avalanche")) { + } else if (pathname === "/academy/blockchain" || pathname.startsWith("/academy/blockchain/")) { + return "blockchain"; + } else if ( + pathname === "/academy" || + pathname === "/academy/avalanche-l1" || + pathname.startsWith("/academy/avalanche-l1/") || + (pathname.startsWith("/academy/") && + !pathname.startsWith("/academy/blockchain") && + !pathname.startsWith("/academy/entrepreneur")) + ) { return "avalanche"; } return "avalanche"; }; return ; + } + + return ( + onChange(item.id as AcademyPathType)} + /> + ); } diff --git a/components/academy/shared/academy-hero.tsx b/components/academy/shared/academy-hero.tsx index 8087fe6d8f3..99398c0428c 100644 --- a/components/academy/shared/academy-hero.tsx +++ b/components/academy/shared/academy-hero.tsx @@ -1,14 +1,77 @@ 'use client'; import { ChevronDown } from 'lucide-react'; +import { useEffect, useState, type CSSProperties } from 'react'; interface AcademyHeroProps { title: string; accent: string; + accentWords?: string[]; description: string; } -export function AcademyHero({ title, accent, description }: AcademyHeroProps) { +const DISPLAY_DURATION = 3500; // Show each academy name for 4 seconds + +// Complete academy titles: [prefix, prefixIsRed, suffix, suffixIsRed] +const academyTitles: [string, boolean, string, boolean][] = [ + ['Avalanche L1', true, 'Developer', false], + ['Blockchain', true, 'Developer', false], + ['Avalanche', false, 'Entrepreneur', true], +]; + +function RotatingAcademyTitle() { + const [index, setIndex] = useState(0); + const [isAnimating, setIsAnimating] = useState(true); + + useEffect(() => { + // Cycle through titles + const timer = setInterval(() => { + setIsAnimating(false); + + // Small delay before changing index to allow fade out + setTimeout(() => { + setIndex((prev) => (prev + 1) % academyTitles.length); + setIsAnimating(true); + }, 900); + }, DISPLAY_DURATION); + + return () => clearInterval(timer); + }, []); + + const [prefix, prefixIsRed, suffix, suffixIsRed] = academyTitles[index]; + + return ( +
+ + {prefix} + + {' '} + + {suffix} + +
+ ); +} + +export function AcademyHero({ title, accent, accentWords, description }: AcademyHeroProps) { const handleScrollToLearningPath = () => { const learningPathSection = document.getElementById('learning-path-section'); if (learningPathSection) { @@ -24,17 +87,16 @@ export function AcademyHero({ title, accent, description }: AcademyHeroProps) {
- {/* Main heading */} + {/* Main heading with rotating academy title */}

- - {title}{" "} - - - {accent} - - - {" "}Academy - +
+
+ +
+ + Academy + +

{/* Description */} diff --git a/components/academy/shared/academy-layout.tsx b/components/academy/shared/academy-layout.tsx index 82f659d02bf..56fab336e5c 100644 --- a/components/academy/shared/academy-layout.tsx +++ b/components/academy/shared/academy-layout.tsx @@ -1,9 +1,13 @@ +'use client'; + import { HeroBackground } from '@/components/landing/hero'; import { AcademyHero } from './academy-hero'; import { AcademyLearningPath } from './academy-learning-path'; import { AcademyBlogSection } from './academy-blog-section'; -import type { AcademyLandingPageConfig } from './academy-types'; +import type { AcademyLandingPageConfig, AcademyPathType } from './academy-types'; import { AcademyBubbleNav } from './academy-bubble.config'; +import { useEffect, useMemo, useState, type ReactNode } from 'react'; +import { usePathname, useRouter, useSearchParams } from 'next/navigation'; interface BlogPage { url: string; @@ -21,11 +25,74 @@ interface BlogPage { interface AcademyLayoutProps { config: AcademyLandingPageConfig; blogs?: BlogPage[]; - children?: React.ReactNode; - afterLearningPath?: React.ReactNode; + blogsByPath?: Partial>; + children?: ReactNode; + afterLearningPath?: ReactNode; + afterLearningPathByPath?: Partial>; + initialPathType?: AcademyPathType | null; } -export function AcademyLayout({ config, blogs = [], children, afterLearningPath }: AcademyLayoutProps) { +export function AcademyLayout({ + config, + blogs = [], + blogsByPath, + children, + afterLearningPath, + afterLearningPathByPath, + initialPathType = null, +}: AcademyLayoutProps) { + const [activePath, setActivePath] = useState(initialPathType ?? config.pathType); + const pathname = usePathname(); + const router = useRouter(); + const searchParams = useSearchParams(); + const isAcademyRoot = pathname === '/academy'; + + const normalizePathType = (value: string | null): AcademyPathType | null => { + if (!value) return null; + if (value === 'avalanche' || value === 'avalanche-l1') return 'avalanche'; + if (value === 'blockchain' || value === 'entrepreneur') return value; + return null; + }; + + useEffect(() => { + if (!isAcademyRoot) { + setActivePath(initialPathType ?? config.pathType); + return; + } + + const rawParam = searchParams?.get('path'); + const paramPath = normalizePathType(rawParam); + + if (paramPath && paramPath !== activePath) { + setActivePath(paramPath); + } else if (!paramPath && initialPathType && initialPathType !== activePath) { + setActivePath(initialPathType); + } + + if (rawParam) { + router.replace('/academy', { scroll: false }); + } + }, [config.pathType, initialPathType, isAcademyRoot, searchParams, activePath, router]); + + const resolvedBlogs = useMemo(() => { + if (blogsByPath) { + const blogsForPath = blogsByPath[activePath]; + if (blogsForPath && blogsForPath.length > 0) { + return blogsForPath; + } + } + return blogs; + }, [blogsByPath, blogs, activePath]); + + const resolvedAfterLearningPath = useMemo(() => { + if (afterLearningPathByPath) { + return afterLearningPathByPath[activePath] ?? null; + } + return afterLearningPath ?? null; + }, [afterLearningPath, afterLearningPathByPath, activePath]); + + const shouldShowBlogs = config.showBlogs && resolvedBlogs.length > 0; + return ( <> @@ -33,32 +100,33 @@ export function AcademyLayout({ config, blogs = [], children, afterLearningPath
- {/* Custom content before learning path */} {children} - {/* Learning Tree Section */} - {/* Custom content after learning path */} - {afterLearningPath} + {resolvedAfterLearningPath} - {/* Blog Section - only if enabled */} - {config.showBlogs && blogs.length > 0 && ( - + {shouldShowBlogs && ( + )}
- {/* Bubble Navigation */} - + { + setActivePath(nextPath); + }} + /> ); } diff --git a/components/academy/shared/academy-learning-path.tsx b/components/academy/shared/academy-learning-path.tsx index da8846cce1e..a32ccd915a8 100644 --- a/components/academy/shared/academy-learning-path.tsx +++ b/components/academy/shared/academy-learning-path.tsx @@ -1,41 +1,50 @@ import LearningTree from '@/components/academy/learning-tree'; +import type { AcademyPathType } from './academy-types'; interface AcademyLearningPathProps { - defaultPathType: 'avalanche' | 'entrepreneur'; + pathType: AcademyPathType; } -export function AcademyLearningPath({ defaultPathType }: AcademyLearningPathProps) { - const pathType = defaultPathType; +export function AcademyLearningPath({ pathType }: AcademyLearningPathProps) { return (
-
-

+
+

Learning Path for{" "} {pathType === 'avalanche' ? ( - "Avalanche" + <> + Avalanche L1 + {" "}Developer + + ) : pathType === 'blockchain' ? ( + <> + Blockchain + {" "}Developer + ) : ( <> - Codebase - Entrepreneur + Entrepreneur Academy )}

- {/* Visual hint */} -
-
- - + {/* Visual hint - more compact */} +
+
+ + {pathType === 'avalanche' - ? 'Start with fundamentals, progress to advanced' + ? 'Start with fundamentals and advance to custom L1s' + : pathType === 'blockchain' + ? 'Master blockchain basics and smart contracts' : 'Build your foundation, scale your venture' } -
+
diff --git a/components/academy/shared/academy-types.tsx b/components/academy/shared/academy-types.tsx index 37fd93b23c7..d002cf62ea8 100644 --- a/components/academy/shared/academy-types.tsx +++ b/components/academy/shared/academy-types.tsx @@ -1,24 +1,30 @@ import type { ReactNode } from 'react'; +export type AcademyPathType = 'avalanche' | 'entrepreneur' | 'blockchain'; + +type BlogFeature = { + title: string; + blogs: Array<{ + id: string; + title: string; + description: string; + date?: string; + link: string; + }>; +}; + export interface AcademyLandingPageConfig { id: string; name: string; heroTitle: string; heroAccent: string; + heroAccentWords?: string[]; heroDescription: string; - pathType: 'avalanche' | 'entrepreneur'; + pathType: AcademyPathType; customContent?: ReactNode; showBlogs?: boolean; features?: { - codebaseBlogs?: { - title: string; - blogs: Array<{ - id: string; - title: string; - description: string; - date?: string; - link: string; - }>; - }; + codebaseBlogs?: BlogFeature; + highlights?: BlogFeature; }; } \ No newline at end of file diff --git a/components/flashcards/flashcardData.json b/components/flashcards/flashcardData.json index 5a2d24adf48..ca893bc6325 100644 --- a/components/flashcards/flashcardData.json +++ b/components/flashcards/flashcardData.json @@ -1,7 +1,7 @@ { "courses": { "codebase-entrepreneur-academy": { - "title": "Codebase Entrepreneur Academy", + "title": "Entrepreneur Academy", "flashcardSets": [ "grants-process", "fundraising-fundamentals", diff --git a/components/landing/paths.tsx b/components/landing/paths.tsx index af368f66c3c..683c463f6a9 100644 --- a/components/landing/paths.tsx +++ b/components/landing/paths.tsx @@ -25,7 +25,7 @@ const paths = [ title: "Launch an L1", description: "Launch your own L1", icon: Rocket, - href: "/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1" + href: "/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1" }, { id: 3, diff --git a/components/navigation/BubbleNavigation.tsx b/components/navigation/BubbleNavigation.tsx index bcf1db059c6..2752ae2ea4d 100644 --- a/components/navigation/BubbleNavigation.tsx +++ b/components/navigation/BubbleNavigation.tsx @@ -7,30 +7,40 @@ import type { BubbleNavigationConfig } from "./bubble-navigation.types"; interface BubbleNavigationProps { config: BubbleNavigationConfig; getActiveItem?: (pathname: string, items: BubbleNavigationConfig['items']) => string; + activeItem?: string; + onSelect?: (item: BubbleNavigationConfig['items'][number]) => void; } export default function BubbleNavigation({ config, - getActiveItem + getActiveItem, + activeItem: controlledActiveItem, + onSelect, }: BubbleNavigationProps) { const pathname = usePathname(); const router = useRouter(); - const [activeItem, setActiveItem] = useState(""); + const isControlled = typeof controlledActiveItem === "string"; + const [uncontrolledActiveItem, setUncontrolledActiveItem] = useState(""); const [hoveredItem, setHoveredItem] = useState(null); const [bottomOffset, setBottomOffset] = useState(32); const navRef = useRef(null); useEffect(() => { // Use custom logic if provided, otherwise default to exact path matching + if (isControlled) return; + if (getActiveItem) { - setActiveItem(getActiveItem(pathname, config.items)); - } else { - const currentItem = config.items.find((item) => pathname === item.href); + setUncontrolledActiveItem(getActiveItem(pathname, config.items)); + return; + } + + const currentItem = config.items.find( + (item) => item.href && pathname === item.href + ); if (currentItem) { - setActiveItem(currentItem.id); - } + setUncontrolledActiveItem(currentItem.id); } - }, [pathname, config.items, getActiveItem]); + }, [pathname, config.items, getActiveItem, isControlled]); useEffect(() => { const handleScroll = () => { @@ -68,9 +78,76 @@ export default function BubbleNavigation({ }; }, []); + const resolvedActiveItem = isControlled + ? controlledActiveItem! + : uncontrolledActiveItem; + const handleItemClick = (item: BubbleNavigationConfig['items'][0]) => { - setActiveItem(item.id); + if (onSelect) { + // Start scroll animation immediately BEFORE state update to prevent blocking + const learningPathSection = document.getElementById('learning-path-section'); + if (learningPathSection) { + // Get the section's position and scroll with offset to show the heading + const yOffset = -125; + const targetY = learningPathSection.getBoundingClientRect().top + window.pageYOffset + yOffset; + const startY = window.pageYOffset; + const distance = targetY - startY; + const duration = 800; // Reduced to 0.8s for faster response + let startTime: number | null = null; + let animationFrameId: number; + + // Easing function: easeOutExpo - starts extremely fast + const easeOutExpo = (t: number): number => { + return t === 1 ? 1 : 1 - Math.pow(2, -10 * t); + }; + + // Cleanup function to stop animation + const cancelAnimation = () => { + if (animationFrameId) { + cancelAnimationFrame(animationFrameId); + } + window.removeEventListener('wheel', cancelAnimation); + window.removeEventListener('touchmove', cancelAnimation); + window.removeEventListener('keydown', cancelAnimation); + window.removeEventListener('mousedown', cancelAnimation); + }; + + const animation = (currentTime: number) => { + if (startTime === null) startTime = currentTime; + const timeElapsed = currentTime - startTime; + const progress = Math.min(timeElapsed / duration, 1); + const ease = easeOutExpo(progress); + + window.scrollTo(0, startY + distance * ease); + + if (progress < 1) { + animationFrameId = requestAnimationFrame(animation); + } else { + cancelAnimation(); // Cleanup listeners when done + } + }; + + // Add listeners to cancel animation on user interaction + window.addEventListener('wheel', cancelAnimation, { passive: true }); + window.addEventListener('touchmove', cancelAnimation, { passive: true }); + window.addEventListener('keydown', cancelAnimation, { passive: true }); + window.addEventListener('mousedown', cancelAnimation, { passive: true }); + + // Start animation loop + animationFrameId = requestAnimationFrame(animation); + } + + // Defer state update slightly to ensure animation frame has priority + setTimeout(() => { + onSelect(item); + }, 0); + return; + } + + if (item.href) { + setUncontrolledActiveItem(item.id); router.push(item.href); + } }; return ( @@ -87,7 +164,7 @@ export default function BubbleNavigation({ )}>
{config.items.map((item) => { - const isActive = activeItem === item.id; + const isActive = resolvedActiveItem === item.id; const isHovered = hoveredItem === item.id; return ( diff --git a/components/navigation/active-nav-highlighter.tsx b/components/navigation/active-nav-highlighter.tsx index d0ad3190ee3..7e57b69a1da 100644 --- a/components/navigation/active-nav-highlighter.tsx +++ b/components/navigation/active-nav-highlighter.tsx @@ -35,8 +35,6 @@ export function ActiveNavHighlighter() { activeSection = '/grants'; } else if (pathname.startsWith('/university')) { activeSection = '/university'; - } else if (pathname.startsWith('/codebase-entrepreneur-academy')) { - activeSection = '/codebase-entrepreneur-academy'; } if (activeSection) { diff --git a/components/navigation/bubble-navigation.types.ts b/components/navigation/bubble-navigation.types.ts index 433f17e6f0e..fd90eb6acfe 100644 --- a/components/navigation/bubble-navigation.types.ts +++ b/components/navigation/bubble-navigation.types.ts @@ -1,7 +1,7 @@ export interface BubbleNavItem { id: string; label: string; - href: string; + href?: string; } export interface BubbleNavigationConfig { diff --git a/components/navigation/navbar-dropdown.tsx b/components/navigation/navbar-dropdown.tsx index 907651343b1..8ede016ef66 100644 --- a/components/navigation/navbar-dropdown.tsx +++ b/components/navigation/navbar-dropdown.tsx @@ -41,9 +41,9 @@ export function NavbarDropdown() { title: 'Academy', href: '/academy', items: [ - { text: 'Avalanche Developer Academy', href: '/academy' }, - { text: 'Codebase Entrepreneur Academy', href: '/codebase-entrepreneur-academy' }, - { text: 'Avalanche Fundamentals', href: '/academy/avalanche-fundamentals' }, + { text: 'Avalanche L1 Academy', href: '/academy' }, + { text: 'Blockchain Academy', href: '/academy' }, + { text: 'Entrepreneur Academy', href: '/academy' }, ], }, { diff --git a/components/tracker.tsx b/components/tracker.tsx index 2f4816cf13d..55502342c2f 100644 --- a/components/tracker.tsx +++ b/components/tracker.tsx @@ -49,23 +49,9 @@ const IndexedDBComponent: React.FC = () => { const getAllRequest = objectStore.getAll(); getAllRequest.onsuccess = function (event: any) { - const paths = event.target.result as { path: string }[]; - paths.forEach(item => { - const sidebarItem = document.querySelector(`aside a[href="${item.path}"]`); - - if (sidebarItem) { - // Check if a checkmark already exists - const existingCheckmark = sidebarItem.querySelector('.lucide-check'); - - // If no checkmark exists, append a new one - if (!existingCheckmark) { - sidebarItem.innerHTML += ` - - `; - } - } - - }); + // We no longer render checkmarks in the sidebar; this hook is kept + // only for potential future tracking logic. + const _paths = event.target.result as { path: string }[]; }; getAllRequest.onerror = function (event: any) { diff --git a/components/ui/sidebar.tsx b/components/ui/sidebar.tsx index 1ee5a457ea2..db3c0e2993c 100644 --- a/components/ui/sidebar.tsx +++ b/components/ui/sidebar.tsx @@ -419,6 +419,10 @@ function SidebarGroupAction({ asChild = false, ...props }: React.ComponentProps<"button"> & { asChild?: boolean }) { + // Hide the sidebar group action (checkmark) in Academy layout + if (typeof document !== "undefined" && document.body?.getAttribute("data-layout") === "academy") { + return null + } const Comp = asChild ? Slot : "button" return ( diff --git a/content/academy/avacloudapis/02-overview/01-about.mdx b/content/academy/avalanche-l1/avacloudapis/02-overview/01-about.mdx similarity index 100% rename from content/academy/avacloudapis/02-overview/01-about.mdx rename to content/academy/avalanche-l1/avacloudapis/02-overview/01-about.mdx diff --git a/content/academy/avacloudapis/02-overview/02-apis-vs-rpc.mdx b/content/academy/avalanche-l1/avacloudapis/02-overview/02-apis-vs-rpc.mdx similarity index 100% rename from content/academy/avacloudapis/02-overview/02-apis-vs-rpc.mdx rename to content/academy/avalanche-l1/avacloudapis/02-overview/02-apis-vs-rpc.mdx diff --git a/content/academy/avacloudapis/02-overview/03-dataapi-endpoints.mdx b/content/academy/avalanche-l1/avacloudapis/02-overview/03-dataapi-endpoints.mdx similarity index 100% rename from content/academy/avacloudapis/02-overview/03-dataapi-endpoints.mdx rename to content/academy/avalanche-l1/avacloudapis/02-overview/03-dataapi-endpoints.mdx diff --git a/content/academy/avacloudapis/02-overview/04-webhooks.mdx b/content/academy/avalanche-l1/avacloudapis/02-overview/04-webhooks.mdx similarity index 100% rename from content/academy/avacloudapis/02-overview/04-webhooks.mdx rename to content/academy/avalanche-l1/avacloudapis/02-overview/04-webhooks.mdx diff --git a/content/academy/avacloudapis/03-environment-setup/01-avacloud-account.mdx b/content/academy/avalanche-l1/avacloudapis/03-environment-setup/01-avacloud-account.mdx similarity index 100% rename from content/academy/avacloudapis/03-environment-setup/01-avacloud-account.mdx rename to content/academy/avalanche-l1/avacloudapis/03-environment-setup/01-avacloud-account.mdx diff --git a/content/academy/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx b/content/academy/avalanche-l1/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx similarity index 100% rename from content/academy/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx rename to content/academy/avalanche-l1/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx diff --git a/content/academy/avacloudapis/03-environment-setup/03-what-we-build.mdx b/content/academy/avalanche-l1/avacloudapis/03-environment-setup/03-what-we-build.mdx similarity index 100% rename from content/academy/avacloudapis/03-environment-setup/03-what-we-build.mdx rename to content/academy/avalanche-l1/avacloudapis/03-environment-setup/03-what-we-build.mdx diff --git a/content/academy/avacloudapis/04-erc20-token-balance-app/01-overview.mdx b/content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/01-overview.mdx similarity index 100% rename from content/academy/avacloudapis/04-erc20-token-balance-app/01-overview.mdx rename to content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/01-overview.mdx diff --git a/content/academy/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx b/content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx similarity index 100% rename from content/academy/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx rename to content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx diff --git a/content/academy/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx b/content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx similarity index 100% rename from content/academy/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx rename to content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx diff --git a/content/academy/avacloudapis/04-erc20-token-balance-app/04-final.mdx b/content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/04-final.mdx similarity index 100% rename from content/academy/avacloudapis/04-erc20-token-balance-app/04-final.mdx rename to content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/04-final.mdx diff --git a/content/academy/avacloudapis/05-wallet-portfolio-app/01-overview.mdx b/content/academy/avalanche-l1/avacloudapis/05-wallet-portfolio-app/01-overview.mdx similarity index 100% rename from content/academy/avacloudapis/05-wallet-portfolio-app/01-overview.mdx rename to content/academy/avalanche-l1/avacloudapis/05-wallet-portfolio-app/01-overview.mdx diff --git a/content/academy/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx b/content/academy/avalanche-l1/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx similarity index 100% rename from content/academy/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx rename to content/academy/avalanche-l1/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx diff --git a/content/academy/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx b/content/academy/avalanche-l1/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx similarity index 100% rename from content/academy/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx rename to content/academy/avalanche-l1/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx diff --git a/content/academy/avacloudapis/06-block-explorer-app/01-overview.mdx b/content/academy/avalanche-l1/avacloudapis/06-block-explorer-app/01-overview.mdx similarity index 100% rename from content/academy/avacloudapis/06-block-explorer-app/01-overview.mdx rename to content/academy/avalanche-l1/avacloudapis/06-block-explorer-app/01-overview.mdx diff --git a/content/academy/avacloudapis/06-block-explorer-app/02-understanding-code.mdx b/content/academy/avalanche-l1/avacloudapis/06-block-explorer-app/02-understanding-code.mdx similarity index 100% rename from content/academy/avacloudapis/06-block-explorer-app/02-understanding-code.mdx rename to content/academy/avalanche-l1/avacloudapis/06-block-explorer-app/02-understanding-code.mdx diff --git a/content/academy/avacloudapis/06-block-explorer-app/03-modifying-code.mdx b/content/academy/avalanche-l1/avacloudapis/06-block-explorer-app/03-modifying-code.mdx similarity index 100% rename from content/academy/avacloudapis/06-block-explorer-app/03-modifying-code.mdx rename to content/academy/avalanche-l1/avacloudapis/06-block-explorer-app/03-modifying-code.mdx diff --git a/content/academy/avacloudapis/07-using-webhooks/01-overview.mdx b/content/academy/avalanche-l1/avacloudapis/07-using-webhooks/01-overview.mdx similarity index 100% rename from content/academy/avacloudapis/07-using-webhooks/01-overview.mdx rename to content/academy/avalanche-l1/avacloudapis/07-using-webhooks/01-overview.mdx diff --git a/content/academy/avacloudapis/index.mdx b/content/academy/avalanche-l1/avacloudapis/index.mdx similarity index 100% rename from content/academy/avacloudapis/index.mdx rename to content/academy/avalanche-l1/avacloudapis/index.mdx diff --git a/content/academy/avacloudapis/meta.json b/content/academy/avalanche-l1/avacloudapis/meta.json similarity index 100% rename from content/academy/avacloudapis/meta.json rename to content/academy/avalanche-l1/avacloudapis/meta.json diff --git a/content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx diff --git a/content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx diff --git a/content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx diff --git a/content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx diff --git a/content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx diff --git a/content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx diff --git a/content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx diff --git a/content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx diff --git a/content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx diff --git a/content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx diff --git a/content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/01-introduction.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/01-introduction.mdx similarity index 93% rename from content/academy/avalanche-fundamentals/05-interoperability/01-introduction.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/01-introduction.mdx index 669f75d037c..aa24a9cc55a 100644 --- a/content/academy/avalanche-fundamentals/05-interoperability/01-introduction.mdx +++ b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/01-introduction.mdx @@ -8,7 +8,7 @@ icon: Book -Now that we know about [Avalanche's Multichain Architecture](/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture) it is important we understand how we achieve **native interoperability** between all of these chains. +Now that we know about [Avalanche's Multichain Architecture](/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture) it is important we understand how we achieve **native interoperability** between all of these chains. ## What is Interoperability diff --git a/content/academy/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/09-use-cases.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/09-use-cases.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/09-use-cases.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/09-use-cases.mdx diff --git a/content/academy/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx diff --git a/content/academy/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx diff --git a/content/academy/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx diff --git a/content/academy/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx diff --git a/content/academy/avalanche-fundamentals/07b-vm-customization/02-modification.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/02-modification.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/07b-vm-customization/02-modification.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/02-modification.mdx diff --git a/content/academy/avalanche-fundamentals/07b-vm-customization/03-creation.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/03-creation.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/07b-vm-customization/03-creation.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/03-creation.mdx diff --git a/content/academy/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx diff --git a/content/academy/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx diff --git a/content/academy/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx diff --git a/content/academy/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx diff --git a/content/academy/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx diff --git a/content/academy/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx diff --git a/content/academy/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx diff --git a/content/academy/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx diff --git a/content/academy/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx diff --git a/content/academy/avalanche-fundamentals/get-certificate.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/get-certificate.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/get-certificate.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/get-certificate.mdx diff --git a/content/academy/avalanche-fundamentals/index.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/index.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/index.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/index.mdx diff --git a/content/academy/avalanche-fundamentals/meta.json b/content/academy/avalanche-l1/avalanche-fundamentals/meta.json similarity index 100% rename from content/academy/avalanche-fundamentals/meta.json rename to content/academy/avalanche-l1/avalanche-fundamentals/meta.json diff --git a/content/academy/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx b/content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx similarity index 100% rename from content/academy/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx rename to content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx diff --git a/content/academy/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx b/content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx similarity index 100% rename from content/academy/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx rename to content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx diff --git a/content/academy/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx b/content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx similarity index 100% rename from content/academy/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx rename to content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx diff --git a/content/academy/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx b/content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx similarity index 100% rename from content/academy/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx rename to content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx diff --git a/content/academy/customizing-evm/03-development-env-setup/00-intro.mdx b/content/academy/avalanche-l1/customizing-evm/03-development-env-setup/00-intro.mdx similarity index 100% rename from content/academy/customizing-evm/03-development-env-setup/00-intro.mdx rename to content/academy/avalanche-l1/customizing-evm/03-development-env-setup/00-intro.mdx diff --git a/content/academy/customizing-evm/03-development-env-setup/02-create-codespaces.mdx b/content/academy/avalanche-l1/customizing-evm/03-development-env-setup/02-create-codespaces.mdx similarity index 100% rename from content/academy/customizing-evm/03-development-env-setup/02-create-codespaces.mdx rename to content/academy/avalanche-l1/customizing-evm/03-development-env-setup/02-create-codespaces.mdx diff --git a/content/academy/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx b/content/academy/avalanche-l1/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx similarity index 100% rename from content/academy/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx rename to content/academy/avalanche-l1/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx diff --git a/content/academy/customizing-evm/04-your-evm-blockchain/00-intro.mdx b/content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/00-intro.mdx similarity index 100% rename from content/academy/customizing-evm/04-your-evm-blockchain/00-intro.mdx rename to content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/00-intro.mdx diff --git a/content/academy/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx b/content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx similarity index 100% rename from content/academy/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx rename to content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx diff --git a/content/academy/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx b/content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx similarity index 100% rename from content/academy/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx rename to content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx diff --git a/content/academy/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx b/content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx similarity index 100% rename from content/academy/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx rename to content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/01-genesis-block.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/01-genesis-block.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/01-genesis-block.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/01-genesis-block.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx diff --git a/content/academy/customizing-evm/06-precompiles/01-what-are-precompiles.mdx b/content/academy/avalanche-l1/customizing-evm/06-precompiles/01-what-are-precompiles.mdx similarity index 100% rename from content/academy/customizing-evm/06-precompiles/01-what-are-precompiles.mdx rename to content/academy/avalanche-l1/customizing-evm/06-precompiles/01-what-are-precompiles.mdx diff --git a/content/academy/customizing-evm/06-precompiles/02-why-precompiles.mdx b/content/academy/avalanche-l1/customizing-evm/06-precompiles/02-why-precompiles.mdx similarity index 100% rename from content/academy/customizing-evm/06-precompiles/02-why-precompiles.mdx rename to content/academy/avalanche-l1/customizing-evm/06-precompiles/02-why-precompiles.mdx diff --git a/content/academy/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/00-intro.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/00-intro.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/00-intro.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/00-intro.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/00-intro.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/00-intro.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/00-intro.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/00-intro.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/09-unit-tests.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/09-unit-tests.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/09-unit-tests.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/09-unit-tests.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx diff --git a/content/academy/customizing-evm/09-stateful-precompiles/00-intro.mdx b/content/academy/avalanche-l1/customizing-evm/09-stateful-precompiles/00-intro.mdx similarity index 100% rename from content/academy/customizing-evm/09-stateful-precompiles/00-intro.mdx rename to content/academy/avalanche-l1/customizing-evm/09-stateful-precompiles/00-intro.mdx diff --git a/content/academy/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/00-intro.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/00-intro.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/00-intro.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/00-intro.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx diff --git a/content/academy/customizing-evm/index.mdx b/content/academy/avalanche-l1/customizing-evm/index.mdx similarity index 97% rename from content/academy/customizing-evm/index.mdx rename to content/academy/avalanche-l1/customizing-evm/index.mdx index c79f026b8cc..b3bda3ada60 100644 --- a/content/academy/customizing-evm/index.mdx +++ b/content/academy/avalanche-l1/customizing-evm/index.mdx @@ -101,7 +101,7 @@ This course is intended for people with a solid understanding of the basic conce 1. **Virtual Machines**: What they are and what VM customization means 2. **Blockchains**: What the components are of a blockchain and how they interact, specifically how Avalanche L1s leverage precompiles. -If some of this is not clear, I strongly recommend taking the [Avalanche Fundamentals](/academy/avalanche-fundamentals) and [Multi-Chain Architecture](/academy/multi-chain-architecture) courses first. +If some of this is not clear, I strongly recommend taking the [Avalanche Fundamentals](/academy/avalanche-l1/avalanche-fundamentals) and [Multi-Chain Architecture](/academy/multi-chain-architecture) courses first. ### Coding diff --git a/content/academy/customizing-evm/meta.json b/content/academy/avalanche-l1/customizing-evm/meta.json similarity index 100% rename from content/academy/customizing-evm/meta.json rename to content/academy/avalanche-l1/customizing-evm/meta.json diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx diff --git a/content/academy/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx b/content/academy/avalanche-l1/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx similarity index 100% rename from content/academy/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx rename to content/academy/avalanche-l1/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx diff --git a/content/academy/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx b/content/academy/avalanche-l1/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx similarity index 100% rename from content/academy/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx rename to content/academy/avalanche-l1/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx diff --git a/content/academy/icm-chainlink/04-ccip-icm/01-introduction.mdx b/content/academy/avalanche-l1/icm-chainlink/04-ccip-icm/01-introduction.mdx similarity index 100% rename from content/academy/icm-chainlink/04-ccip-icm/01-introduction.mdx rename to content/academy/avalanche-l1/icm-chainlink/04-ccip-icm/01-introduction.mdx diff --git a/content/academy/icm-chainlink/certificate.mdx b/content/academy/avalanche-l1/icm-chainlink/certificate.mdx similarity index 100% rename from content/academy/icm-chainlink/certificate.mdx rename to content/academy/avalanche-l1/icm-chainlink/certificate.mdx diff --git a/content/academy/icm-chainlink/index.mdx b/content/academy/avalanche-l1/icm-chainlink/index.mdx similarity index 100% rename from content/academy/icm-chainlink/index.mdx rename to content/academy/avalanche-l1/icm-chainlink/index.mdx diff --git a/content/academy/icm-chainlink/meta.json b/content/academy/avalanche-l1/icm-chainlink/meta.json similarity index 100% rename from content/academy/icm-chainlink/meta.json rename to content/academy/avalanche-l1/icm-chainlink/meta.json diff --git a/content/academy/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx b/content/academy/avalanche-l1/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx similarity index 100% rename from content/academy/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx rename to content/academy/avalanche-l1/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx diff --git a/content/academy/interchain-messaging/02-interoperability/02-source-message-destination.mdx b/content/academy/avalanche-l1/interchain-messaging/02-interoperability/02-source-message-destination.mdx similarity index 100% rename from content/academy/interchain-messaging/02-interoperability/02-source-message-destination.mdx rename to content/academy/avalanche-l1/interchain-messaging/02-interoperability/02-source-message-destination.mdx diff --git a/content/academy/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx b/content/academy/avalanche-l1/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx similarity index 100% rename from content/academy/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx rename to content/academy/avalanche-l1/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx diff --git a/content/academy/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx b/content/academy/avalanche-l1/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx similarity index 100% rename from content/academy/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx rename to content/academy/avalanche-l1/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx diff --git a/content/academy/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx b/content/academy/avalanche-l1/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx similarity index 100% rename from content/academy/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx rename to content/academy/avalanche-l1/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx diff --git a/content/academy/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx b/content/academy/avalanche-l1/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx similarity index 100% rename from content/academy/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx rename to content/academy/avalanche-l1/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx diff --git a/content/academy/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx b/content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx similarity index 100% rename from content/academy/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx rename to content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx diff --git a/content/academy/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx b/content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx similarity index 100% rename from content/academy/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx rename to content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx diff --git a/content/academy/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx b/content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx similarity index 100% rename from content/academy/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx rename to content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx diff --git a/content/academy/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx b/content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx similarity index 100% rename from content/academy/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx rename to content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx diff --git a/content/academy/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx b/content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx similarity index 100% rename from content/academy/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx rename to content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/01-icm-basics.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/01-icm-basics.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/01-icm-basics.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/01-icm-basics.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/03-sending-a-message.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/03-sending-a-message.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/03-sending-a-message.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/03-sending-a-message.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/07-send-a-message.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/07-send-a-message.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/07-send-a-message.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/07-send-a-message.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx diff --git a/content/academy/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx b/content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx similarity index 100% rename from content/academy/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx rename to content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx diff --git a/content/academy/interchain-messaging/05-two-way-communication/02-sender-contract.mdx b/content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/02-sender-contract.mdx similarity index 100% rename from content/academy/interchain-messaging/05-two-way-communication/02-sender-contract.mdx rename to content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/02-sender-contract.mdx diff --git a/content/academy/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx b/content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx similarity index 100% rename from content/academy/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx rename to content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx diff --git a/content/academy/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx b/content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx similarity index 100% rename from content/academy/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx rename to content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx diff --git a/content/academy/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx b/content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx similarity index 100% rename from content/academy/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx rename to content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx diff --git a/content/academy/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx b/content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx similarity index 100% rename from content/academy/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx rename to content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx diff --git a/content/academy/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx b/content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx similarity index 100% rename from content/academy/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx rename to content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx diff --git a/content/academy/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx b/content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx similarity index 100% rename from content/academy/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx rename to content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx diff --git a/content/academy/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx b/content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx similarity index 100% rename from content/academy/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx rename to content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx diff --git a/content/academy/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx b/content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx similarity index 100% rename from content/academy/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx rename to content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx diff --git a/content/academy/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx b/content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx similarity index 100% rename from content/academy/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx rename to content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx diff --git a/content/academy/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx b/content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx similarity index 100% rename from content/academy/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx rename to content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx diff --git a/content/academy/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx b/content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx similarity index 100% rename from content/academy/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx rename to content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx diff --git a/content/academy/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx b/content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx similarity index 100% rename from content/academy/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx rename to content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx diff --git a/content/academy/interchain-messaging/07-icm-registry/01-icm-registry.mdx b/content/academy/avalanche-l1/interchain-messaging/07-icm-registry/01-icm-registry.mdx similarity index 100% rename from content/academy/interchain-messaging/07-icm-registry/01-icm-registry.mdx rename to content/academy/avalanche-l1/interchain-messaging/07-icm-registry/01-icm-registry.mdx diff --git a/content/academy/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx b/content/academy/avalanche-l1/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx similarity index 100% rename from content/academy/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx rename to content/academy/avalanche-l1/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx diff --git a/content/academy/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx b/content/academy/avalanche-l1/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx similarity index 100% rename from content/academy/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx rename to content/academy/avalanche-l1/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx diff --git a/content/academy/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx b/content/academy/avalanche-l1/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx similarity index 100% rename from content/academy/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx rename to content/academy/avalanche-l1/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx diff --git a/content/academy/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx b/content/academy/avalanche-l1/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx similarity index 100% rename from content/academy/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx rename to content/academy/avalanche-l1/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx diff --git a/content/academy/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx b/content/academy/avalanche-l1/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx similarity index 100% rename from content/academy/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx rename to content/academy/avalanche-l1/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx diff --git a/content/academy/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx b/content/academy/avalanche-l1/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx similarity index 100% rename from content/academy/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx rename to content/academy/avalanche-l1/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx diff --git a/content/academy/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx b/content/academy/avalanche-l1/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx similarity index 100% rename from content/academy/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx rename to content/academy/avalanche-l1/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx diff --git a/content/academy/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx b/content/academy/avalanche-l1/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx similarity index 100% rename from content/academy/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx rename to content/academy/avalanche-l1/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx diff --git a/content/academy/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx b/content/academy/avalanche-l1/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx similarity index 100% rename from content/academy/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx rename to content/academy/avalanche-l1/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx diff --git a/content/academy/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx b/content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx similarity index 100% rename from content/academy/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx rename to content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx diff --git a/content/academy/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx b/content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx similarity index 100% rename from content/academy/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx rename to content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx diff --git a/content/academy/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx b/content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx similarity index 100% rename from content/academy/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx rename to content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx diff --git a/content/academy/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx b/content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx similarity index 100% rename from content/academy/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx rename to content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx diff --git a/content/academy/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx b/content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx similarity index 100% rename from content/academy/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx rename to content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx diff --git a/content/academy/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx b/content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx similarity index 100% rename from content/academy/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx rename to content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx diff --git a/content/academy/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx b/content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx similarity index 100% rename from content/academy/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx rename to content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx diff --git a/content/academy/interchain-messaging/certificate.mdx b/content/academy/avalanche-l1/interchain-messaging/certificate.mdx similarity index 100% rename from content/academy/interchain-messaging/certificate.mdx rename to content/academy/avalanche-l1/interchain-messaging/certificate.mdx diff --git a/content/academy/interchain-messaging/index.mdx b/content/academy/avalanche-l1/interchain-messaging/index.mdx similarity index 100% rename from content/academy/interchain-messaging/index.mdx rename to content/academy/avalanche-l1/interchain-messaging/index.mdx diff --git a/content/academy/interchain-messaging/meta.json b/content/academy/avalanche-l1/interchain-messaging/meta.json similarity index 100% rename from content/academy/interchain-messaging/meta.json rename to content/academy/avalanche-l1/interchain-messaging/meta.json diff --git a/content/academy/interchain-token-transfer/02-getting-started/01-introduction.mdx b/content/academy/avalanche-l1/interchain-token-transfer/02-getting-started/01-introduction.mdx similarity index 98% rename from content/academy/interchain-token-transfer/02-getting-started/01-introduction.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/02-getting-started/01-introduction.mdx index 3c8b5016aa1..946a2c3f9b5 100644 --- a/content/academy/interchain-token-transfer/02-getting-started/01-introduction.mdx +++ b/content/academy/avalanche-l1/interchain-token-transfer/02-getting-started/01-introduction.mdx @@ -34,7 +34,7 @@ Before you begin, make sure you have: 4. An understanding of Avalanche networks and how to connect to them -This course focuses on using the existing testnet chains (Fuji C-Chain, Echo, and Dispatch). If you want to create your own L1 blockchain, please refer to the [Creating an L1](/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1) course. +This course focuses on using the existing testnet chains (Fuji C-Chain, Echo, and Dispatch). If you want to create your own L1 blockchain, please refer to the [Creating an L1](/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1) course. Since Interchain Token Transfer relies on Interchain Messaging (ICM), you must run your own relayer to enable cross-chain communication. Follow the [Running a Relayer](/academy/interchain-messaging/10-running-a-relayer/01-running-a-relayer) course to set up your relayer. diff --git a/content/academy/interchain-token-transfer/03-tokens/01-tokens.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/01-tokens.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/01-tokens.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/01-tokens.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/02-native-tokens.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/02-native-tokens.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/02-native-tokens.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/02-native-tokens.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx diff --git a/content/academy/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx b/content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx similarity index 100% rename from content/academy/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx diff --git a/content/academy/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx b/content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx similarity index 100% rename from content/academy/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx diff --git a/content/academy/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx b/content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx similarity index 100% rename from content/academy/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx diff --git a/content/academy/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx b/content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx similarity index 100% rename from content/academy/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx diff --git a/content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx b/content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx similarity index 100% rename from content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx diff --git a/content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx b/content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx similarity index 100% rename from content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx diff --git a/content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx b/content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx similarity index 100% rename from content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx diff --git a/content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx b/content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx similarity index 100% rename from content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx diff --git a/content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx b/content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx similarity index 100% rename from content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx diff --git a/content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx b/content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx similarity index 100% rename from content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx diff --git a/content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx b/content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx similarity index 100% rename from content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx diff --git a/content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx b/content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx similarity index 100% rename from content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx diff --git a/content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx b/content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx similarity index 100% rename from content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx diff --git a/content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx b/content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx similarity index 100% rename from content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx diff --git a/content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx b/content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx similarity index 100% rename from content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx diff --git a/content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx b/content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx similarity index 100% rename from content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx diff --git a/content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx b/content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx similarity index 100% rename from content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx diff --git a/content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx b/content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx similarity index 100% rename from content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx diff --git a/content/academy/interchain-token-transfer/12-send-and-call/01-intro.mdx b/content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/01-intro.mdx similarity index 100% rename from content/academy/interchain-token-transfer/12-send-and-call/01-intro.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/01-intro.mdx diff --git a/content/academy/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx b/content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx similarity index 100% rename from content/academy/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx diff --git a/content/academy/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx b/content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx similarity index 100% rename from content/academy/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx diff --git a/content/academy/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx b/content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx similarity index 100% rename from content/academy/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx diff --git a/content/academy/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx b/content/academy/avalanche-l1/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx similarity index 100% rename from content/academy/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx diff --git a/content/academy/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx b/content/academy/avalanche-l1/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx similarity index 100% rename from content/academy/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx diff --git a/content/academy/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx b/content/academy/avalanche-l1/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx similarity index 100% rename from content/academy/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx diff --git a/content/academy/interchain-token-transfer/14-scaling-decimals/02-example.mdx b/content/academy/avalanche-l1/interchain-token-transfer/14-scaling-decimals/02-example.mdx similarity index 100% rename from content/academy/interchain-token-transfer/14-scaling-decimals/02-example.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/14-scaling-decimals/02-example.mdx diff --git a/content/academy/interchain-token-transfer/certificate.mdx b/content/academy/avalanche-l1/interchain-token-transfer/certificate.mdx similarity index 100% rename from content/academy/interchain-token-transfer/certificate.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/certificate.mdx diff --git a/content/academy/interchain-token-transfer/index.mdx b/content/academy/avalanche-l1/interchain-token-transfer/index.mdx similarity index 98% rename from content/academy/interchain-token-transfer/index.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/index.mdx index 50a77ddb4ea..753655375dd 100644 --- a/content/academy/interchain-token-transfer/index.mdx +++ b/content/academy/avalanche-l1/interchain-token-transfer/index.mdx @@ -17,7 +17,7 @@ Cross-chain communication is a crucial building block of multi-chain systems. Ut Transfering tokens between multiple chains is a common use case in multi-chain systems. This course will help you understand how to transfer assets between multiple Avalanche blockchains using the Avalanche Interchain Token Transfer protocol. -This course focuses on using the existing testnet chains (Fuji C-Chain, Echo, and Dispatch). If you want to create your own L1 blockchain, please refer to the [Creating an L1](/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1) course. +This course focuses on using the existing testnet chains (Fuji C-Chain, Echo, and Dispatch). If you want to create your own L1 blockchain, please refer to the [Creating an L1](/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1) course. diff --git a/content/academy/interchain-token-transfer/meta.json b/content/academy/avalanche-l1/interchain-token-transfer/meta.json similarity index 100% rename from content/academy/interchain-token-transfer/meta.json rename to content/academy/avalanche-l1/interchain-token-transfer/meta.json diff --git a/content/academy/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx diff --git a/content/academy/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx diff --git a/content/academy/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx diff --git a/content/academy/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx diff --git a/content/academy/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx diff --git a/content/academy/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx diff --git a/content/academy/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx diff --git a/content/academy/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx diff --git a/content/academy/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx diff --git a/content/academy/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx diff --git a/content/academy/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx diff --git a/content/academy/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx diff --git a/content/academy/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx diff --git a/content/academy/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx diff --git a/content/academy/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx diff --git a/content/academy/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx diff --git a/content/academy/l1-native-tokenomics/03-precompiles/01-introduction.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/03-precompiles/01-introduction.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/03-precompiles/01-introduction.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/03-precompiles/01-introduction.mdx diff --git a/content/academy/l1-native-tokenomics/03-precompiles/02-precompiles.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/03-precompiles/02-precompiles.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/03-precompiles/02-precompiles.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/03-precompiles/02-precompiles.mdx diff --git a/content/academy/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx diff --git a/content/academy/l1-native-tokenomics/04-native-minter/01-introduction.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/04-native-minter/01-introduction.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/04-native-minter/01-introduction.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/04-native-minter/01-introduction.mdx diff --git a/content/academy/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx diff --git a/content/academy/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx diff --git a/content/academy/l1-native-tokenomics/05-fee-config/01-introduction.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/05-fee-config/01-introduction.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/05-fee-config/01-introduction.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/05-fee-config/01-introduction.mdx diff --git a/content/academy/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx diff --git a/content/academy/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx diff --git a/content/academy/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx diff --git a/content/academy/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx diff --git a/content/academy/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx diff --git a/content/academy/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx diff --git a/content/academy/l1-native-tokenomics/08-governance/01-introduction.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/08-governance/01-introduction.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/08-governance/01-introduction.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/08-governance/01-introduction.mdx diff --git a/content/academy/l1-native-tokenomics/08-governance/02-governance-models.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/08-governance/02-governance-models.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/08-governance/02-governance-models.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/08-governance/02-governance-models.mdx diff --git a/content/academy/l1-native-tokenomics/08-governance/03-daos.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/08-governance/03-daos.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/08-governance/03-daos.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/08-governance/03-daos.mdx diff --git a/content/academy/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx diff --git a/content/academy/l1-native-tokenomics/08-governance/05-governance-20.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/08-governance/05-governance-20.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/08-governance/05-governance-20.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/08-governance/05-governance-20.mdx diff --git a/content/academy/l1-native-tokenomics/dappVsL1.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/dappVsL1.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/dappVsL1.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/dappVsL1.mdx diff --git a/content/academy/l1-native-tokenomics/index.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/index.mdx similarity index 91% rename from content/academy/l1-native-tokenomics/index.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/index.mdx index 6b06050496f..6f6ecffaed1 100644 --- a/content/academy/l1-native-tokenomics/index.mdx +++ b/content/academy/avalanche-l1/l1-native-tokenomics/index.mdx @@ -12,7 +12,7 @@ By the end of this course, you will have practical skills in designing tokenomic ## Prerequisites -Before starting this course, you should have completed the [Blockchain Fundamentals](/academy/blockchain-fundamentals) and [Avalanche Fundamentals](/academy/avalanche-fundamentals) courses of the [Avalanche Developers Academy](https://build.avax.network/academy#:~:text=Choose%20Your%20Learning%20Path) learning tree. +Before starting this course, you should have completed the [Blockchain Fundamentals](/academy/blockchain-fundamentals) and [Avalanche Fundamentals](/academy/avalanche-l1/avalanche-fundamentals) courses of the [Avalanche Developers Academy](https://build.avax.network/academy#:~:text=Choose%20Your%20Learning%20Path) learning tree. ## Learning Outcomes diff --git a/content/academy/l1-native-tokenomics/meta.json b/content/academy/avalanche-l1/l1-native-tokenomics/meta.json similarity index 100% rename from content/academy/l1-native-tokenomics/meta.json rename to content/academy/avalanche-l1/l1-native-tokenomics/meta.json diff --git a/content/academy/l1-native-tokenomics/token-ownership.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/token-ownership.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/token-ownership.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/token-ownership.mdx diff --git a/content/academy/avalanche-l1/meta.json b/content/academy/avalanche-l1/meta.json new file mode 100644 index 00000000000..4c960ee585f --- /dev/null +++ b/content/academy/avalanche-l1/meta.json @@ -0,0 +1,13 @@ +{ + "pages": [ + "avalanche-fundamentals", + "permissioned-l1s", + "l1-native-tokenomics", + "permissionless-l1s", + "interchain-messaging", + "interchain-token-transfer", + "icm-chainlink", + "customizing-evm" + ] +} + diff --git a/content/academy/permissioned-l1s/01-introduction/01-pchain-review.mdx b/content/academy/avalanche-l1/permissioned-l1s/01-introduction/01-pchain-review.mdx similarity index 100% rename from content/academy/permissioned-l1s/01-introduction/01-pchain-review.mdx rename to content/academy/avalanche-l1/permissioned-l1s/01-introduction/01-pchain-review.mdx diff --git a/content/academy/permissioned-l1s/01-introduction/02-multi-chain-review.mdx b/content/academy/avalanche-l1/permissioned-l1s/01-introduction/02-multi-chain-review.mdx similarity index 100% rename from content/academy/permissioned-l1s/01-introduction/02-multi-chain-review.mdx rename to content/academy/avalanche-l1/permissioned-l1s/01-introduction/02-multi-chain-review.mdx diff --git a/content/academy/permissioned-l1s/01-introduction/03-interop.mdx b/content/academy/avalanche-l1/permissioned-l1s/01-introduction/03-interop.mdx similarity index 93% rename from content/academy/permissioned-l1s/01-introduction/03-interop.mdx rename to content/academy/avalanche-l1/permissioned-l1s/01-introduction/03-interop.mdx index 1221e0537b1..b1af9e54710 100644 --- a/content/academy/permissioned-l1s/01-introduction/03-interop.mdx +++ b/content/academy/avalanche-l1/permissioned-l1s/01-introduction/03-interop.mdx @@ -10,7 +10,7 @@ Interchain Messaging (ICM) is the foundation that enables secure communication b ## ICM Architecture Layers -Revisiting the diagram we saw in the [Interoperability](/academy/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt) section of the Avalanche Fundamentals course, the Validator Manager is placed at the same level as the ICM contracts are. +Revisiting the diagram we saw in the [Interoperability](/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt) section of the Avalanche Fundamentals course, the Validator Manager is placed at the same level as the ICM contracts are. ![ICM Layers with VMC](/common-images/permissioned-l1s/ICMLayersVMC.png) diff --git a/content/academy/permissioned-l1s/01-introduction/04-proxy-pattern.mdx b/content/academy/avalanche-l1/permissioned-l1s/01-introduction/04-proxy-pattern.mdx similarity index 100% rename from content/academy/permissioned-l1s/01-introduction/04-proxy-pattern.mdx rename to content/academy/avalanche-l1/permissioned-l1s/01-introduction/04-proxy-pattern.mdx diff --git a/content/academy/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx b/content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx similarity index 100% rename from content/academy/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx rename to content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx diff --git a/content/academy/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx b/content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx similarity index 100% rename from content/academy/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx rename to content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx diff --git a/content/academy/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx b/content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx similarity index 100% rename from content/academy/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx rename to content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx diff --git a/content/academy/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx b/content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx similarity index 100% rename from content/academy/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx rename to content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx diff --git a/content/academy/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx b/content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx similarity index 92% rename from content/academy/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx rename to content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx index 4d665c74fe3..3c91e47fa6f 100644 --- a/content/academy/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx +++ b/content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx @@ -12,7 +12,7 @@ import ToolboxMdxWrapper from "@/components/toolbox/academy/wrapper/ToolboxMdxWr import AvalancheGoDocker from "@/components/toolbox/console/layer-1/AvalancheGoDockerL1"; import CreateChain from "@/components/toolbox/console/layer-1/create/CreateChain"; -In the [Avalanche Fundamentals course](/academy/avalanche-fundamentals), you learned how to quickly set up an L1 using the [Developer Console](https://build.avax.network/tools/l1-toolbox). This section provides an in depth review of that flow, understanding what comes pre-configured in our genesis, and laying the foundation for what we will need for our Permissioned L1. +In the [Avalanche Fundamentals course](/academy/avalanche-l1/avalanche-fundamentals), you learned how to quickly set up an L1 using the [Developer Console](https://build.avax.network/tools/l1-toolbox). This section provides an in depth review of that flow, understanding what comes pre-configured in our genesis, and laying the foundation for what we will need for our Permissioned L1. ## Creating a Subnet diff --git a/content/academy/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx b/content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx similarity index 100% rename from content/academy/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx rename to content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx diff --git a/content/academy/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx b/content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx similarity index 100% rename from content/academy/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx rename to content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx diff --git a/content/academy/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx b/content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx similarity index 100% rename from content/academy/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx rename to content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx diff --git a/content/academy/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx b/content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx similarity index 100% rename from content/academy/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx rename to content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx diff --git a/content/academy/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx b/content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx similarity index 100% rename from content/academy/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx rename to content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx diff --git a/content/academy/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx b/content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx similarity index 100% rename from content/academy/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx rename to content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx diff --git a/content/academy/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx b/content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx similarity index 100% rename from content/academy/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx rename to content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx diff --git a/content/academy/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx b/content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx similarity index 100% rename from content/academy/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx rename to content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx diff --git a/content/academy/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx b/content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx similarity index 100% rename from content/academy/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx rename to content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx diff --git a/content/academy/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx b/content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx similarity index 100% rename from content/academy/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx rename to content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx similarity index 85% rename from content/academy/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx index ff782a33504..f7504e10a60 100644 --- a/content/academy/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx +++ b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx @@ -11,7 +11,7 @@ icon: Terminal Before getting into understanding and executing validator manager operations, let's take a look at our current Validator set. -Feel free to come back to this step after [adding a validator](/academy/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo), [changing weight](/academy/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo) or [removing it](content/academy/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo) to verify the changes have applied. +Feel free to come back to this step after [adding a validator](/academy/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo), [changing weight](/academy/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo) or [removing it](/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx) to verify the changes have applied. import ToolboxMdxWrapper from "@/components/toolbox/academy/wrapper/ToolboxMdxWrapper.tsx" import QueryL1ValidatorSet from "@/components/toolbox/console/permissioned-l1s/QueryL1ValidatorSet.tsx" diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx diff --git a/content/academy/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx b/content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx similarity index 100% rename from content/academy/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx rename to content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx diff --git a/content/academy/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx b/content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx similarity index 100% rename from content/academy/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx rename to content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx diff --git a/content/academy/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx b/content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx similarity index 100% rename from content/academy/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx rename to content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx diff --git a/content/academy/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx b/content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx similarity index 100% rename from content/academy/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx rename to content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx diff --git a/content/academy/permissioned-l1s/XX-registering-validator/registering-validator.mdx b/content/academy/avalanche-l1/permissioned-l1s/XX-registering-validator/registering-validator.mdx similarity index 100% rename from content/academy/permissioned-l1s/XX-registering-validator/registering-validator.mdx rename to content/academy/avalanche-l1/permissioned-l1s/XX-registering-validator/registering-validator.mdx diff --git a/content/academy/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx b/content/academy/avalanche-l1/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx similarity index 100% rename from content/academy/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx rename to content/academy/avalanche-l1/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx diff --git a/content/academy/permissioned-l1s/certificate.mdx b/content/academy/avalanche-l1/permissioned-l1s/certificate.mdx similarity index 100% rename from content/academy/permissioned-l1s/certificate.mdx rename to content/academy/avalanche-l1/permissioned-l1s/certificate.mdx diff --git a/content/academy/permissioned-l1s/index.mdx b/content/academy/avalanche-l1/permissioned-l1s/index.mdx similarity index 94% rename from content/academy/permissioned-l1s/index.mdx rename to content/academy/avalanche-l1/permissioned-l1s/index.mdx index 340dc43d5af..8c50154c36a 100644 --- a/content/academy/permissioned-l1s/index.mdx +++ b/content/academy/avalanche-l1/permissioned-l1s/index.mdx @@ -23,7 +23,7 @@ This comprehensive course will walk you through: - **Introduction** - P-Chain review, how Validator Manager Contracts use ICM & commonlys used Proxy Patterns - **Proof of Authority** - Understanding permissioning types for blockchains, what Proof of Authority is and the Validator Manager contract structure -- **Create an L1** - Creating a Subnet, diving deep into the Transparent Proxy pattern, understanding genesis pre-deployed contracts and creating your L1 (recommended to first have created an L1 in the [Avalanche Fundamentals course](/academy/avalanche-fundamentals)) +- **Create an L1** - Creating a Subnet, diving deep into the Transparent Proxy pattern, understanding genesis pre-deployed contracts and creating your L1 (recommended to first have created an L1 in the [Avalanche Fundamentals course](/academy/avalanche-l1/avalanche-fundamentals)) - **Validator Manager Deployment** - Deploying and configuring the Validator Manager Contract (VMC) on your new L1 - **Validator Manager Operations** - Adding, changing weights and removing validators - **Coming Soon... Multi-Sig Setup for PoA** - Implementing secure multi-signature governance with Safe/Ash wallets diff --git a/content/academy/permissioned-l1s/meta.json b/content/academy/avalanche-l1/permissioned-l1s/meta.json similarity index 100% rename from content/academy/permissioned-l1s/meta.json rename to content/academy/avalanche-l1/permissioned-l1s/meta.json diff --git a/content/academy/permissionless-l1s/01-review/01-pchain-review.mdx b/content/academy/avalanche-l1/permissionless-l1s/01-review/01-pchain-review.mdx similarity index 55% rename from content/academy/permissionless-l1s/01-review/01-pchain-review.mdx rename to content/academy/avalanche-l1/permissionless-l1s/01-review/01-pchain-review.mdx index c00c36f94b3..189bc1ffa83 100644 --- a/content/academy/permissionless-l1s/01-review/01-pchain-review.mdx +++ b/content/academy/avalanche-l1/permissionless-l1s/01-review/01-pchain-review.mdx @@ -6,6 +6,6 @@ authors: [nicolasarnedo] icon: Book --- -import PChainReview from '@/content/academy/permissioned-l1s/01-introduction/01-pchain-review.mdx'; +import PChainReview from '@/content/academy/avalanche-l1/permissioned-l1s/01-introduction/01-pchain-review.mdx'; diff --git a/content/academy/permissionless-l1s/01-review/02-multi-chain-review.mdx b/content/academy/avalanche-l1/permissionless-l1s/01-review/02-multi-chain-review.mdx similarity index 60% rename from content/academy/permissionless-l1s/01-review/02-multi-chain-review.mdx rename to content/academy/avalanche-l1/permissionless-l1s/01-review/02-multi-chain-review.mdx index 285b58516f0..cfc4321fc75 100644 --- a/content/academy/permissionless-l1s/01-review/02-multi-chain-review.mdx +++ b/content/academy/avalanche-l1/permissionless-l1s/01-review/02-multi-chain-review.mdx @@ -6,6 +6,6 @@ authors: [nicolasarnedo] icon: BookOpen --- -import MultiChainReview from '@/content/academy/permissioned-l1s/01-introduction/02-multi-chain-review.mdx'; +import MultiChainReview from '@/content/academy/avalanche-l1/permissioned-l1s/01-introduction/02-multi-chain-review.mdx'; diff --git a/content/academy/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx b/content/academy/avalanche-l1/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx similarity index 100% rename from content/academy/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx rename to content/academy/avalanche-l1/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx diff --git a/content/academy/permissionless-l1s/01-review/04-native-tokenomics-review.mdx b/content/academy/avalanche-l1/permissionless-l1s/01-review/04-native-tokenomics-review.mdx similarity index 100% rename from content/academy/permissionless-l1s/01-review/04-native-tokenomics-review.mdx rename to content/academy/avalanche-l1/permissionless-l1s/01-review/04-native-tokenomics-review.mdx diff --git a/content/academy/permissionless-l1s/02-proof-of-stake/01-introduction.mdx b/content/academy/avalanche-l1/permissionless-l1s/02-proof-of-stake/01-introduction.mdx similarity index 98% rename from content/academy/permissionless-l1s/02-proof-of-stake/01-introduction.mdx rename to content/academy/avalanche-l1/permissionless-l1s/02-proof-of-stake/01-introduction.mdx index 99894c53507..94021988286 100644 --- a/content/academy/permissionless-l1s/02-proof-of-stake/01-introduction.mdx +++ b/content/academy/avalanche-l1/permissionless-l1s/02-proof-of-stake/01-introduction.mdx @@ -57,7 +57,7 @@ This weight determines how much influence they have during the consensus polling ### Consensus Participation -Validators with sufficient stake participate in Avalanche's consensus mechanism by repeatedly polling small random samples of other validators, weighted by their stake. The consensus algorithm itself—including Snowman consensus for linear chains—is covered in detail in the [Avalanche Consensus section](/academy/avalanche-fundamentals/avalanche-consensus-intro). +Validators with sufficient stake participate in Avalanche's consensus mechanism by repeatedly polling small random samples of other validators, weighted by their stake. The consensus algorithm itself—including Snowman consensus for linear chains—is covered in detail in the [Avalanche Consensus section](/academy/avalanche-l1/avalanche-fundamentals/avalanche-consensus-intro). Unlike traditional Delegated Proof of Stake (DPoS) systems where a fixed number of delegates are elected, Avalanche allows **anyone meeting the minimum stake requirement** to become a validator. There's no voting mechanism to elect validators—participation is purely stake-based, making it more permissionless and decentralized. diff --git a/content/academy/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx b/content/academy/avalanche-l1/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx similarity index 100% rename from content/academy/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx rename to content/academy/avalanche-l1/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx diff --git a/content/academy/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx b/content/academy/avalanche-l1/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx similarity index 100% rename from content/academy/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx rename to content/academy/avalanche-l1/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx diff --git a/content/academy/permissionless-l1s/03-transformation-requirements/01-introduction.mdx b/content/academy/avalanche-l1/permissionless-l1s/03-transformation-requirements/01-introduction.mdx similarity index 100% rename from content/academy/permissionless-l1s/03-transformation-requirements/01-introduction.mdx rename to content/academy/avalanche-l1/permissionless-l1s/03-transformation-requirements/01-introduction.mdx diff --git a/content/academy/permissionless-l1s/03-transformation-requirements/02-native-minter.mdx b/content/academy/avalanche-l1/permissionless-l1s/03-transformation-requirements/02-native-minter.mdx similarity index 100% rename from content/academy/permissionless-l1s/03-transformation-requirements/02-native-minter.mdx rename to content/academy/avalanche-l1/permissionless-l1s/03-transformation-requirements/02-native-minter.mdx diff --git a/content/academy/permissionless-l1s/03-transformation-requirements/03-reward-manger.mdx b/content/academy/avalanche-l1/permissionless-l1s/03-transformation-requirements/03-reward-manger.mdx similarity index 100% rename from content/academy/permissionless-l1s/03-transformation-requirements/03-reward-manger.mdx rename to content/academy/avalanche-l1/permissionless-l1s/03-transformation-requirements/03-reward-manger.mdx diff --git a/content/academy/permissionless-l1s/04-speedrun-base-l1/01-create-l1-speedrun.mdx b/content/academy/avalanche-l1/permissionless-l1s/04-speedrun-base-l1/01-create-l1-speedrun.mdx similarity index 100% rename from content/academy/permissionless-l1s/04-speedrun-base-l1/01-create-l1-speedrun.mdx rename to content/academy/avalanche-l1/permissionless-l1s/04-speedrun-base-l1/01-create-l1-speedrun.mdx diff --git a/content/academy/permissionless-l1s/04-speedrun-base-l1/02-permissioned-l1-speedrun.mdx b/content/academy/avalanche-l1/permissionless-l1s/04-speedrun-base-l1/02-permissioned-l1-speedrun.mdx similarity index 100% rename from content/academy/permissionless-l1s/04-speedrun-base-l1/02-permissioned-l1-speedrun.mdx rename to content/academy/avalanche-l1/permissionless-l1s/04-speedrun-base-l1/02-permissioned-l1-speedrun.mdx diff --git a/content/academy/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx b/content/academy/avalanche-l1/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx similarity index 100% rename from content/academy/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx rename to content/academy/avalanche-l1/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx diff --git a/content/academy/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx b/content/academy/avalanche-l1/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx similarity index 100% rename from content/academy/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx rename to content/academy/avalanche-l1/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx diff --git a/content/academy/permissionless-l1s/certificate.mdx b/content/academy/avalanche-l1/permissionless-l1s/certificate.mdx similarity index 100% rename from content/academy/permissionless-l1s/certificate.mdx rename to content/academy/avalanche-l1/permissionless-l1s/certificate.mdx diff --git a/content/academy/permissionless-l1s/index.mdx b/content/academy/avalanche-l1/permissionless-l1s/index.mdx similarity index 100% rename from content/academy/permissionless-l1s/index.mdx rename to content/academy/avalanche-l1/permissionless-l1s/index.mdx diff --git a/content/academy/permissionless-l1s/meta.json b/content/academy/avalanche-l1/permissionless-l1s/meta.json similarity index 91% rename from content/academy/permissionless-l1s/meta.json rename to content/academy/avalanche-l1/permissionless-l1s/meta.json index 0ae276fade4..77f597f370c 100644 --- a/content/academy/permissionless-l1s/meta.json +++ b/content/academy/avalanche-l1/permissionless-l1s/meta.json @@ -12,7 +12,6 @@ "...03-transformation-requirements", "---Staking Manager Setup---", "04-speedrun-base-l1", - "...05-staking-manager-setup", "---More coming soon...---" ] } \ No newline at end of file diff --git a/content/academy/blockchain-fundamentals/02-what-is-a-blockchain/01-what-is-a-blockchain.mdx b/content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/01-what-is-a-blockchain.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/02-what-is-a-blockchain/01-what-is-a-blockchain.mdx rename to content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/01-what-is-a-blockchain.mdx diff --git a/content/academy/blockchain-fundamentals/02-what-is-a-blockchain/02-decentralized-computer.mdx b/content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/02-decentralized-computer.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/02-what-is-a-blockchain/02-decentralized-computer.mdx rename to content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/02-decentralized-computer.mdx diff --git a/content/academy/blockchain-fundamentals/02-what-is-a-blockchain/03-decentralized-applications.mdx b/content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/03-decentralized-applications.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/02-what-is-a-blockchain/03-decentralized-applications.mdx rename to content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/03-decentralized-applications.mdx diff --git a/content/academy/blockchain-fundamentals/02-what-is-a-blockchain/04-use-cases.mdx b/content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/04-use-cases.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/02-what-is-a-blockchain/04-use-cases.mdx rename to content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/04-use-cases.mdx diff --git a/content/academy/blockchain-fundamentals/03-payments-use-case/01-payments-use-case.mdx b/content/academy/blockchain/blockchain-fundamentals/03-payments-use-case/01-payments-use-case.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/03-payments-use-case/01-payments-use-case.mdx rename to content/academy/blockchain/blockchain-fundamentals/03-payments-use-case/01-payments-use-case.mdx diff --git a/content/academy/blockchain-fundamentals/03-payments-use-case/02-account-balances-transfers.mdx b/content/academy/blockchain/blockchain-fundamentals/03-payments-use-case/02-account-balances-transfers.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/03-payments-use-case/02-account-balances-transfers.mdx rename to content/academy/blockchain/blockchain-fundamentals/03-payments-use-case/02-account-balances-transfers.mdx diff --git a/content/academy/blockchain-fundamentals/03-payments-use-case/03-ledger.mdx b/content/academy/blockchain/blockchain-fundamentals/03-payments-use-case/03-ledger.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/03-payments-use-case/03-ledger.mdx rename to content/academy/blockchain/blockchain-fundamentals/03-payments-use-case/03-ledger.mdx diff --git a/content/academy/blockchain-fundamentals/04-signatures/01-signatures.mdx b/content/academy/blockchain/blockchain-fundamentals/04-signatures/01-signatures.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/04-signatures/01-signatures.mdx rename to content/academy/blockchain/blockchain-fundamentals/04-signatures/01-signatures.mdx diff --git a/content/academy/blockchain-fundamentals/04-tx-ordering-through-consensus/01-tx-ordering-through-consensus.mdx b/content/academy/blockchain/blockchain-fundamentals/04-tx-ordering-through-consensus/01-tx-ordering-through-consensus.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/04-tx-ordering-through-consensus/01-tx-ordering-through-consensus.mdx rename to content/academy/blockchain/blockchain-fundamentals/04-tx-ordering-through-consensus/01-tx-ordering-through-consensus.mdx diff --git a/content/academy/blockchain-fundamentals/04-tx-ordering-through-consensus/02-longest-chain-consensus.mdx b/content/academy/blockchain/blockchain-fundamentals/04-tx-ordering-through-consensus/02-longest-chain-consensus.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/04-tx-ordering-through-consensus/02-longest-chain-consensus.mdx rename to content/academy/blockchain/blockchain-fundamentals/04-tx-ordering-through-consensus/02-longest-chain-consensus.mdx diff --git a/content/academy/blockchain-fundamentals/04-tx-ordering-through-consensus/xx-tx-lifecycle.mdx b/content/academy/blockchain/blockchain-fundamentals/04-tx-ordering-through-consensus/xx-tx-lifecycle.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/04-tx-ordering-through-consensus/xx-tx-lifecycle.mdx rename to content/academy/blockchain/blockchain-fundamentals/04-tx-ordering-through-consensus/xx-tx-lifecycle.mdx diff --git a/content/academy/blockchain-fundamentals/05-sybil-protection/01-sybil-protection.mdx b/content/academy/blockchain/blockchain-fundamentals/05-sybil-protection/01-sybil-protection.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/05-sybil-protection/01-sybil-protection.mdx rename to content/academy/blockchain/blockchain-fundamentals/05-sybil-protection/01-sybil-protection.mdx diff --git a/content/academy/blockchain-fundamentals/06-smart-contracts/01-smart-contracts.mdx b/content/academy/blockchain/blockchain-fundamentals/06-smart-contracts/01-smart-contracts.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/06-smart-contracts/01-smart-contracts.mdx rename to content/academy/blockchain/blockchain-fundamentals/06-smart-contracts/01-smart-contracts.mdx diff --git a/content/academy/blockchain-fundamentals/07-independent-tokenomics/01-native-tokens.mdx b/content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/01-native-tokens.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/07-independent-tokenomics/01-native-tokens.mdx rename to content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/01-native-tokens.mdx diff --git a/content/academy/blockchain-fundamentals/07-independent-tokenomics/02-erc-20-tokens.mdx b/content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/02-erc-20-tokens.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/07-independent-tokenomics/02-erc-20-tokens.mdx rename to content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/02-erc-20-tokens.mdx diff --git a/content/academy/blockchain-fundamentals/07-independent-tokenomics/03-deploy-and-transfer-erc-20-tokens.mdx b/content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/03-deploy-and-transfer-erc-20-tokens.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/07-independent-tokenomics/03-deploy-and-transfer-erc-20-tokens.mdx rename to content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/03-deploy-and-transfer-erc-20-tokens.mdx diff --git a/content/academy/blockchain-fundamentals/07-independent-tokenomics/04-wrapped-tokens.mdx b/content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/04-wrapped-tokens.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/07-independent-tokenomics/04-wrapped-tokens.mdx rename to content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/04-wrapped-tokens.mdx diff --git a/content/academy/blockchain-fundamentals/07-independent-tokenomics/05-deploy-and-interact-wrapped-tokens.mdx b/content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/05-deploy-and-interact-wrapped-tokens.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/07-independent-tokenomics/05-deploy-and-interact-wrapped-tokens.mdx rename to content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/05-deploy-and-interact-wrapped-tokens.mdx diff --git a/content/academy/blockchain-fundamentals/07-independent-tokenomics/06-token-decimals.mdx b/content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/06-token-decimals.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/07-independent-tokenomics/06-token-decimals.mdx rename to content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/06-token-decimals.mdx diff --git a/content/academy/blockchain-fundamentals/08-vms-and-blockchains/01-vms-and-blockchains.mdx b/content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/01-vms-and-blockchains.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/08-vms-and-blockchains/01-vms-and-blockchains.mdx rename to content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/01-vms-and-blockchains.mdx diff --git a/content/academy/blockchain-fundamentals/08-vms-and-blockchains/02-state-machine.mdx b/content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/02-state-machine.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/08-vms-and-blockchains/02-state-machine.mdx rename to content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/02-state-machine.mdx diff --git a/content/academy/blockchain-fundamentals/08-vms-and-blockchains/03-blockchains.mdx b/content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/03-blockchains.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/08-vms-and-blockchains/03-blockchains.mdx rename to content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/03-blockchains.mdx diff --git a/content/academy/blockchain-fundamentals/08-vms-and-blockchains/04-variety-of-vm.mdx b/content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/04-variety-of-vm.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/08-vms-and-blockchains/04-variety-of-vm.mdx rename to content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/04-variety-of-vm.mdx diff --git a/content/academy/blockchain-fundamentals/08-vms-and-blockchains/05-testnets.mdx b/content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/05-testnets.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/08-vms-and-blockchains/05-testnets.mdx rename to content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/05-testnets.mdx diff --git a/content/academy/blockchain-fundamentals/get-certificate.mdx b/content/academy/blockchain/blockchain-fundamentals/get-certificate.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/get-certificate.mdx rename to content/academy/blockchain/blockchain-fundamentals/get-certificate.mdx diff --git a/content/academy/blockchain-fundamentals/index.mdx b/content/academy/blockchain/blockchain-fundamentals/index.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/index.mdx rename to content/academy/blockchain/blockchain-fundamentals/index.mdx diff --git a/content/academy/blockchain-fundamentals/meta.json b/content/academy/blockchain/blockchain-fundamentals/meta.json similarity index 100% rename from content/academy/blockchain-fundamentals/meta.json rename to content/academy/blockchain/blockchain-fundamentals/meta.json diff --git a/content/academy/blockchain-fundamentals/xx-decentralization.mdx b/content/academy/blockchain/blockchain-fundamentals/xx-decentralization.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/xx-decentralization.mdx rename to content/academy/blockchain/blockchain-fundamentals/xx-decentralization.mdx diff --git a/content/academy/blockchain-fundamentals/xx-regulation/01-regulation.mdx b/content/academy/blockchain/blockchain-fundamentals/xx-regulation/01-regulation.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/xx-regulation/01-regulation.mdx rename to content/academy/blockchain/blockchain-fundamentals/xx-regulation/01-regulation.mdx diff --git a/content/academy/blockchain-fundamentals/xx-tbd-sections/02-proof-of-work.mdx b/content/academy/blockchain/blockchain-fundamentals/xx-tbd-sections/02-proof-of-work.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/xx-tbd-sections/02-proof-of-work.mdx rename to content/academy/blockchain/blockchain-fundamentals/xx-tbd-sections/02-proof-of-work.mdx diff --git a/content/academy/blockchain-fundamentals/xx-tbd-sections/03-proof-of-stake.mdx b/content/academy/blockchain/blockchain-fundamentals/xx-tbd-sections/03-proof-of-stake.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/xx-tbd-sections/03-proof-of-stake.mdx rename to content/academy/blockchain/blockchain-fundamentals/xx-tbd-sections/03-proof-of-stake.mdx diff --git a/content/academy/blockchain-fundamentals/xx-tbd-sections/xx-signature-schemes.mdx b/content/academy/blockchain/blockchain-fundamentals/xx-tbd-sections/xx-signature-schemes.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/xx-tbd-sections/xx-signature-schemes.mdx rename to content/academy/blockchain/blockchain-fundamentals/xx-tbd-sections/xx-signature-schemes.mdx diff --git a/content/academy/blockchain-fundamentals/xx-tokens.mdx b/content/academy/blockchain/blockchain-fundamentals/xx-tokens.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/xx-tokens.mdx rename to content/academy/blockchain/blockchain-fundamentals/xx-tokens.mdx diff --git a/content/academy/encrypted-erc/01-what-is-a-digital-asset/01-digital-assets-overview.mdx b/content/academy/blockchain/encrypted-erc/01-what-is-a-digital-asset/01-digital-assets-overview.mdx similarity index 100% rename from content/academy/encrypted-erc/01-what-is-a-digital-asset/01-digital-assets-overview.mdx rename to content/academy/blockchain/encrypted-erc/01-what-is-a-digital-asset/01-digital-assets-overview.mdx diff --git a/content/academy/encrypted-erc/01-what-is-a-digital-asset/02-current-uses.mdx b/content/academy/blockchain/encrypted-erc/01-what-is-a-digital-asset/02-current-uses.mdx similarity index 100% rename from content/academy/encrypted-erc/01-what-is-a-digital-asset/02-current-uses.mdx rename to content/academy/blockchain/encrypted-erc/01-what-is-a-digital-asset/02-current-uses.mdx diff --git a/content/academy/encrypted-erc/01-what-is-a-digital-asset/03-limitations.mdx b/content/academy/blockchain/encrypted-erc/01-what-is-a-digital-asset/03-limitations.mdx similarity index 100% rename from content/academy/encrypted-erc/01-what-is-a-digital-asset/03-limitations.mdx rename to content/academy/blockchain/encrypted-erc/01-what-is-a-digital-asset/03-limitations.mdx diff --git a/content/academy/encrypted-erc/02-real-privacy/01-how-private-is-the-blockchain.mdx b/content/academy/blockchain/encrypted-erc/02-real-privacy/01-how-private-is-the-blockchain.mdx similarity index 100% rename from content/academy/encrypted-erc/02-real-privacy/01-how-private-is-the-blockchain.mdx rename to content/academy/blockchain/encrypted-erc/02-real-privacy/01-how-private-is-the-blockchain.mdx diff --git a/content/academy/encrypted-erc/02-real-privacy/02-compliance.mdx b/content/academy/blockchain/encrypted-erc/02-real-privacy/02-compliance.mdx similarity index 100% rename from content/academy/encrypted-erc/02-real-privacy/02-compliance.mdx rename to content/academy/blockchain/encrypted-erc/02-real-privacy/02-compliance.mdx diff --git a/content/academy/encrypted-erc/02-real-privacy/03-necessities-solved-with-privacy.mdx b/content/academy/blockchain/encrypted-erc/02-real-privacy/03-necessities-solved-with-privacy.mdx similarity index 100% rename from content/academy/encrypted-erc/02-real-privacy/03-necessities-solved-with-privacy.mdx rename to content/academy/blockchain/encrypted-erc/02-real-privacy/03-necessities-solved-with-privacy.mdx diff --git a/content/academy/encrypted-erc/03-encrypted-tokens/01-privacity-eerc.mdx b/content/academy/blockchain/encrypted-erc/03-encrypted-tokens/01-privacity-eerc.mdx similarity index 100% rename from content/academy/encrypted-erc/03-encrypted-tokens/01-privacity-eerc.mdx rename to content/academy/blockchain/encrypted-erc/03-encrypted-tokens/01-privacity-eerc.mdx diff --git a/content/academy/encrypted-erc/03-encrypted-tokens/02-comparison.mdx b/content/academy/blockchain/encrypted-erc/03-encrypted-tokens/02-comparison.mdx similarity index 100% rename from content/academy/encrypted-erc/03-encrypted-tokens/02-comparison.mdx rename to content/academy/blockchain/encrypted-erc/03-encrypted-tokens/02-comparison.mdx diff --git a/content/academy/encrypted-erc/03-encrypted-tokens/03-technology-behind.mdx b/content/academy/blockchain/encrypted-erc/03-encrypted-tokens/03-technology-behind.mdx similarity index 100% rename from content/academy/encrypted-erc/03-encrypted-tokens/03-technology-behind.mdx rename to content/academy/blockchain/encrypted-erc/03-encrypted-tokens/03-technology-behind.mdx diff --git a/content/academy/encrypted-erc/04-usability-eerc/01-deployments-mode.mdx b/content/academy/blockchain/encrypted-erc/04-usability-eerc/01-deployments-mode.mdx similarity index 100% rename from content/academy/encrypted-erc/04-usability-eerc/01-deployments-mode.mdx rename to content/academy/blockchain/encrypted-erc/04-usability-eerc/01-deployments-mode.mdx diff --git a/content/academy/encrypted-erc/04-usability-eerc/02-use-cases.mdx b/content/academy/blockchain/encrypted-erc/04-usability-eerc/02-use-cases.mdx similarity index 100% rename from content/academy/encrypted-erc/04-usability-eerc/02-use-cases.mdx rename to content/academy/blockchain/encrypted-erc/04-usability-eerc/02-use-cases.mdx diff --git a/content/academy/encrypted-erc/05-eerc-contracts-flow/01-step-by-step.mdx b/content/academy/blockchain/encrypted-erc/05-eerc-contracts-flow/01-step-by-step.mdx similarity index 100% rename from content/academy/encrypted-erc/05-eerc-contracts-flow/01-step-by-step.mdx rename to content/academy/blockchain/encrypted-erc/05-eerc-contracts-flow/01-step-by-step.mdx diff --git a/content/academy/encrypted-erc/index.mdx b/content/academy/blockchain/encrypted-erc/index.mdx similarity index 100% rename from content/academy/encrypted-erc/index.mdx rename to content/academy/blockchain/encrypted-erc/index.mdx diff --git a/content/academy/encrypted-erc/meta.json b/content/academy/blockchain/encrypted-erc/meta.json similarity index 100% rename from content/academy/encrypted-erc/meta.json rename to content/academy/blockchain/encrypted-erc/meta.json diff --git a/content/academy/blockchain/meta.json b/content/academy/blockchain/meta.json new file mode 100644 index 00000000000..432c728452b --- /dev/null +++ b/content/academy/blockchain/meta.json @@ -0,0 +1,8 @@ +{ + "pages": [ + "blockchain-fundamentals", + "solidity-foundry", + "encrypted-erc" + ] +} + diff --git a/content/academy/solidity-foundry/02-avalanche-starter-kit/01-avalanche-starter-kit.mdx b/content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/01-avalanche-starter-kit.mdx similarity index 100% rename from content/academy/solidity-foundry/02-avalanche-starter-kit/01-avalanche-starter-kit.mdx rename to content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/01-avalanche-starter-kit.mdx diff --git a/content/academy/solidity-foundry/02-avalanche-starter-kit/02-set-up.mdx b/content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/02-set-up.mdx similarity index 100% rename from content/academy/solidity-foundry/02-avalanche-starter-kit/02-set-up.mdx rename to content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/02-set-up.mdx diff --git a/content/academy/solidity-foundry/02-avalanche-starter-kit/03-close-and-reopen-codespace.mdx b/content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/03-close-and-reopen-codespace.mdx similarity index 100% rename from content/academy/solidity-foundry/02-avalanche-starter-kit/03-close-and-reopen-codespace.mdx rename to content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/03-close-and-reopen-codespace.mdx diff --git a/content/academy/solidity-foundry/02-avalanche-starter-kit/03-create-blockchain.mdx b/content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/03-create-blockchain.mdx similarity index 100% rename from content/academy/solidity-foundry/02-avalanche-starter-kit/03-create-blockchain.mdx rename to content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/03-create-blockchain.mdx diff --git a/content/academy/solidity-foundry/02-avalanche-starter-kit/04-networks.mdx b/content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/04-networks.mdx similarity index 100% rename from content/academy/solidity-foundry/02-avalanche-starter-kit/04-networks.mdx rename to content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/04-networks.mdx diff --git a/content/academy/solidity-foundry/02-avalanche-starter-kit/05-pause-and-resume.mdx b/content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/05-pause-and-resume.mdx similarity index 100% rename from content/academy/solidity-foundry/02-avalanche-starter-kit/05-pause-and-resume.mdx rename to content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/05-pause-and-resume.mdx diff --git a/content/academy/solidity-foundry/03-smart-contracts/01-building-programs-on-blockchain.mdx b/content/academy/blockchain/solidity-foundry/03-smart-contracts/01-building-programs-on-blockchain.mdx similarity index 100% rename from content/academy/solidity-foundry/03-smart-contracts/01-building-programs-on-blockchain.mdx rename to content/academy/blockchain/solidity-foundry/03-smart-contracts/01-building-programs-on-blockchain.mdx diff --git a/content/academy/solidity-foundry/03-smart-contracts/02-what-is-solidity.mdx b/content/academy/blockchain/solidity-foundry/03-smart-contracts/02-what-is-solidity.mdx similarity index 100% rename from content/academy/solidity-foundry/03-smart-contracts/02-what-is-solidity.mdx rename to content/academy/blockchain/solidity-foundry/03-smart-contracts/02-what-is-solidity.mdx diff --git a/content/academy/solidity-foundry/03-smart-contracts/03-foundry-quickstart.mdx b/content/academy/blockchain/solidity-foundry/03-smart-contracts/03-foundry-quickstart.mdx similarity index 100% rename from content/academy/solidity-foundry/03-smart-contracts/03-foundry-quickstart.mdx rename to content/academy/blockchain/solidity-foundry/03-smart-contracts/03-foundry-quickstart.mdx diff --git a/content/academy/solidity-foundry/03-smart-contracts/04-create-new-smart-contract.mdx b/content/academy/blockchain/solidity-foundry/03-smart-contracts/04-create-new-smart-contract.mdx similarity index 100% rename from content/academy/solidity-foundry/03-smart-contracts/04-create-new-smart-contract.mdx rename to content/academy/blockchain/solidity-foundry/03-smart-contracts/04-create-new-smart-contract.mdx diff --git a/content/academy/solidity-foundry/04-hello-world-part-1/01-intro.mdx b/content/academy/blockchain/solidity-foundry/04-hello-world-part-1/01-intro.mdx similarity index 100% rename from content/academy/solidity-foundry/04-hello-world-part-1/01-intro.mdx rename to content/academy/blockchain/solidity-foundry/04-hello-world-part-1/01-intro.mdx diff --git a/content/academy/solidity-foundry/04-hello-world-part-1/02-primitive-value-and-types.mdx b/content/academy/blockchain/solidity-foundry/04-hello-world-part-1/02-primitive-value-and-types.mdx similarity index 100% rename from content/academy/solidity-foundry/04-hello-world-part-1/02-primitive-value-and-types.mdx rename to content/academy/blockchain/solidity-foundry/04-hello-world-part-1/02-primitive-value-and-types.mdx diff --git a/content/academy/solidity-foundry/04-hello-world-part-1/03-functions.mdx b/content/academy/blockchain/solidity-foundry/04-hello-world-part-1/03-functions.mdx similarity index 100% rename from content/academy/solidity-foundry/04-hello-world-part-1/03-functions.mdx rename to content/academy/blockchain/solidity-foundry/04-hello-world-part-1/03-functions.mdx diff --git a/content/academy/solidity-foundry/04-hello-world-part-1/04-contracts.mdx b/content/academy/blockchain/solidity-foundry/04-hello-world-part-1/04-contracts.mdx similarity index 100% rename from content/academy/solidity-foundry/04-hello-world-part-1/04-contracts.mdx rename to content/academy/blockchain/solidity-foundry/04-hello-world-part-1/04-contracts.mdx diff --git a/content/academy/solidity-foundry/04-hello-world-part-1/05-solidity-file-structure.mdx b/content/academy/blockchain/solidity-foundry/04-hello-world-part-1/05-solidity-file-structure.mdx similarity index 100% rename from content/academy/solidity-foundry/04-hello-world-part-1/05-solidity-file-structure.mdx rename to content/academy/blockchain/solidity-foundry/04-hello-world-part-1/05-solidity-file-structure.mdx diff --git a/content/academy/solidity-foundry/04-hello-world-part-1/06-build-basic-smart-contract.mdx b/content/academy/blockchain/solidity-foundry/04-hello-world-part-1/06-build-basic-smart-contract.mdx similarity index 100% rename from content/academy/solidity-foundry/04-hello-world-part-1/06-build-basic-smart-contract.mdx rename to content/academy/blockchain/solidity-foundry/04-hello-world-part-1/06-build-basic-smart-contract.mdx diff --git a/content/academy/solidity-foundry/05-hello-world-part-2/01-intro.mdx b/content/academy/blockchain/solidity-foundry/05-hello-world-part-2/01-intro.mdx similarity index 100% rename from content/academy/solidity-foundry/05-hello-world-part-2/01-intro.mdx rename to content/academy/blockchain/solidity-foundry/05-hello-world-part-2/01-intro.mdx diff --git a/content/academy/solidity-foundry/05-hello-world-part-2/02-control-flow.mdx b/content/academy/blockchain/solidity-foundry/05-hello-world-part-2/02-control-flow.mdx similarity index 100% rename from content/academy/solidity-foundry/05-hello-world-part-2/02-control-flow.mdx rename to content/academy/blockchain/solidity-foundry/05-hello-world-part-2/02-control-flow.mdx diff --git a/content/academy/solidity-foundry/05-hello-world-part-2/03-data-structures.mdx b/content/academy/blockchain/solidity-foundry/05-hello-world-part-2/03-data-structures.mdx similarity index 100% rename from content/academy/solidity-foundry/05-hello-world-part-2/03-data-structures.mdx rename to content/academy/blockchain/solidity-foundry/05-hello-world-part-2/03-data-structures.mdx diff --git a/content/academy/solidity-foundry/05-hello-world-part-2/04-contract-constructor.mdx b/content/academy/blockchain/solidity-foundry/05-hello-world-part-2/04-contract-constructor.mdx similarity index 100% rename from content/academy/solidity-foundry/05-hello-world-part-2/04-contract-constructor.mdx rename to content/academy/blockchain/solidity-foundry/05-hello-world-part-2/04-contract-constructor.mdx diff --git a/content/academy/solidity-foundry/05-hello-world-part-2/05-modifiers.mdx b/content/academy/blockchain/solidity-foundry/05-hello-world-part-2/05-modifiers.mdx similarity index 100% rename from content/academy/solidity-foundry/05-hello-world-part-2/05-modifiers.mdx rename to content/academy/blockchain/solidity-foundry/05-hello-world-part-2/05-modifiers.mdx diff --git a/content/academy/solidity-foundry/05-hello-world-part-2/06-events.mdx b/content/academy/blockchain/solidity-foundry/05-hello-world-part-2/06-events.mdx similarity index 100% rename from content/academy/solidity-foundry/05-hello-world-part-2/06-events.mdx rename to content/academy/blockchain/solidity-foundry/05-hello-world-part-2/06-events.mdx diff --git a/content/academy/solidity-foundry/06-contract-standarization/01-contract-standarization.mdx b/content/academy/blockchain/solidity-foundry/06-contract-standarization/01-contract-standarization.mdx similarity index 100% rename from content/academy/solidity-foundry/06-contract-standarization/01-contract-standarization.mdx rename to content/academy/blockchain/solidity-foundry/06-contract-standarization/01-contract-standarization.mdx diff --git a/content/academy/solidity-foundry/06-contract-standarization/02-inheritance.mdx b/content/academy/blockchain/solidity-foundry/06-contract-standarization/02-inheritance.mdx similarity index 100% rename from content/academy/solidity-foundry/06-contract-standarization/02-inheritance.mdx rename to content/academy/blockchain/solidity-foundry/06-contract-standarization/02-inheritance.mdx diff --git a/content/academy/solidity-foundry/06-contract-standarization/03-interfaces.mdx b/content/academy/blockchain/solidity-foundry/06-contract-standarization/03-interfaces.mdx similarity index 100% rename from content/academy/solidity-foundry/06-contract-standarization/03-interfaces.mdx rename to content/academy/blockchain/solidity-foundry/06-contract-standarization/03-interfaces.mdx diff --git a/content/academy/solidity-foundry/06-contract-standarization/04-abstract.mdx b/content/academy/blockchain/solidity-foundry/06-contract-standarization/04-abstract.mdx similarity index 100% rename from content/academy/solidity-foundry/06-contract-standarization/04-abstract.mdx rename to content/academy/blockchain/solidity-foundry/06-contract-standarization/04-abstract.mdx diff --git a/content/academy/solidity-foundry/07-erc20-smart-contracts/01-erc20-intro.mdx b/content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/01-erc20-intro.mdx similarity index 100% rename from content/academy/solidity-foundry/07-erc20-smart-contracts/01-erc20-intro.mdx rename to content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/01-erc20-intro.mdx diff --git a/content/academy/solidity-foundry/07-erc20-smart-contracts/02-technical-walkthrough.mdx b/content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/02-technical-walkthrough.mdx similarity index 100% rename from content/academy/solidity-foundry/07-erc20-smart-contracts/02-technical-walkthrough.mdx rename to content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/02-technical-walkthrough.mdx diff --git a/content/academy/solidity-foundry/07-erc20-smart-contracts/03-interacting-with-erc20-tokens.mdx b/content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/03-interacting-with-erc20-tokens.mdx similarity index 100% rename from content/academy/solidity-foundry/07-erc20-smart-contracts/03-interacting-with-erc20-tokens.mdx rename to content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/03-interacting-with-erc20-tokens.mdx diff --git a/content/academy/solidity-foundry/07-erc20-smart-contracts/04-deploying-your-erc20-token.mdx b/content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/04-deploying-your-erc20-token.mdx similarity index 100% rename from content/academy/solidity-foundry/07-erc20-smart-contracts/04-deploying-your-erc20-token.mdx rename to content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/04-deploying-your-erc20-token.mdx diff --git a/content/academy/solidity-foundry/08-erc721-smart-contracts/01-erc721-intro.mdx b/content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/01-erc721-intro.mdx similarity index 100% rename from content/academy/solidity-foundry/08-erc721-smart-contracts/01-erc721-intro.mdx rename to content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/01-erc721-intro.mdx diff --git a/content/academy/solidity-foundry/08-erc721-smart-contracts/02-technical-walkthrough.mdx b/content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/02-technical-walkthrough.mdx similarity index 100% rename from content/academy/solidity-foundry/08-erc721-smart-contracts/02-technical-walkthrough.mdx rename to content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/02-technical-walkthrough.mdx diff --git a/content/academy/solidity-foundry/08-erc721-smart-contracts/03-interacting-with-erc721-tokens.mdx b/content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/03-interacting-with-erc721-tokens.mdx similarity index 100% rename from content/academy/solidity-foundry/08-erc721-smart-contracts/03-interacting-with-erc721-tokens.mdx rename to content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/03-interacting-with-erc721-tokens.mdx diff --git a/content/academy/solidity-foundry/08-erc721-smart-contracts/04-deploying-your-erc721-token.mdx b/content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/04-deploying-your-erc721-token.mdx similarity index 100% rename from content/academy/solidity-foundry/08-erc721-smart-contracts/04-deploying-your-erc721-token.mdx rename to content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/04-deploying-your-erc721-token.mdx diff --git a/content/academy/solidity-foundry/08-erc721-smart-contracts/05-uris.mdx b/content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/05-uris.mdx similarity index 100% rename from content/academy/solidity-foundry/08-erc721-smart-contracts/05-uris.mdx rename to content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/05-uris.mdx diff --git a/content/academy/solidity-foundry/index.mdx b/content/academy/blockchain/solidity-foundry/index.mdx similarity index 100% rename from content/academy/solidity-foundry/index.mdx rename to content/academy/blockchain/solidity-foundry/index.mdx diff --git a/content/academy/solidity-foundry/meta.json b/content/academy/blockchain/solidity-foundry/meta.json similarity index 100% rename from content/academy/solidity-foundry/meta.json rename to content/academy/blockchain/solidity-foundry/meta.json diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/02-legal-jurisdiction.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/02-legal-jurisdiction.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/02-legal-jurisdiction.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/02-legal-jurisdiction.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/03-token-classification.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/03-token-classification.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/03-token-classification.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/03-token-classification.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/04-legal-documentation.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/04-legal-documentation.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/04-legal-documentation.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/04-legal-documentation.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/05-intellectual-property.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/05-intellectual-property.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/05-intellectual-property.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/05-intellectual-property.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/06-ongoing-compliance.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/06-ongoing-compliance.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/06-ongoing-compliance.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/06-ongoing-compliance.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/07-applying-frameworks.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/07-applying-frameworks.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/07-applying-frameworks.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/07-applying-frameworks.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/08-key-takeaways.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/08-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/08-key-takeaways.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/08-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx similarity index 84% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx index 5fbe5c38198..5867640c8db 100644 --- a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx +++ b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Legal Foundations module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx new file mode 100644 index 00000000000..d7e49dcb4d3 --- /dev/null +++ b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx @@ -0,0 +1,15 @@ +--- +title: Test Your Knowledge +description: Interactive quiz to test your understanding of legal structures for Web3 +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + +Great work finishing **[Module 1A](/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction)**! 🎉 Completing a single module is a fantastic achievement on its own, but if you want to be certified, you'll need to complete [Module 1A](/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction), [Module 2](/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/academy/entrepreneur/foundations-web3-venture/03-user-personas/01-introduction) to unlock the Foundations of a Web3 Venture certificate. Keep going—you're on your way! 🚀 diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/02-assessing-security.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/02-assessing-security.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/02-assessing-security.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/02-assessing-security.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/03-it-governance.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/03-it-governance.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/03-it-governance.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/03-it-governance.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/04-cryptographic-assets.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/04-cryptographic-assets.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/04-cryptographic-assets.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/04-cryptographic-assets.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/05-data-strategy.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/05-data-strategy.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/05-data-strategy.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/05-data-strategy.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/06-key-takeaways.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/06-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/06-key-takeaways.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/06-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx similarity index 84% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx index f8947c63f9b..328428a53f6 100644 --- a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx +++ b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx @@ -12,7 +12,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Security Fundamentals module -- after, you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx new file mode 100644 index 00000000000..515f4b82fca --- /dev/null +++ b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx @@ -0,0 +1,19 @@ +--- +title: Test Your Knowledge +description: Interactive quiz to test your understanding of security fundamentals for Web3 +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + + + + + +Great work finishing **[Module 1B](/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction)**! 🎉 Completing a single module is a fantastic achievement on its own, but if you want to be certified, you'll need to complete [Module 1A](/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction), [Module 2](/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/academy/entrepreneur/foundations-web3-venture/03-user-personas/01-introduction) to unlock the Foundations of a Web3 Venture certificate. Keep going—you're on your way! 🚀 diff --git a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction.mdx b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction.mdx rename to content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/02-understanding-canvas.mdx b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/02-understanding-canvas.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/02-understanding-canvas.mdx rename to content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/02-understanding-canvas.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/03-applying-canvas.mdx b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/03-applying-canvas.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/03-applying-canvas.mdx rename to content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/03-applying-canvas.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/04-key-takeaways.mdx b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/04-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/04-key-takeaways.mdx rename to content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/04-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx similarity index 85% rename from content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx rename to content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx index 45a42e73e58..167a2b37226 100644 --- a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx +++ b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx @@ -15,7 +15,7 @@ Study these key terms and concepts to solidify your understanding of the Busines Use these flashcards to revise your knowledge of some of the most important concepts of the Business Model Canvas module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx new file mode 100644 index 00000000000..ae57a800078 --- /dev/null +++ b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx @@ -0,0 +1,19 @@ +--- +title: Test Your Knowledge +description: Interactive quiz to test your understanding of Business Model Canvas for Web3 +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + + + + + +Awesome progress! **[Module 2](/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction)** is done, which is a big win. Remember, while completing a single module is great, certification comes when you finish [Module 1A](/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction), [Module 2](/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/academy/entrepreneur/foundations-web3-venture/03-user-personas/01-introduction) and unlock the Foundations of a Web3 Venture certificate. Stay focused! 🌟 diff --git a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/07-additional-learning.mdx b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/07-additional-learning.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/07-additional-learning.mdx rename to content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/07-additional-learning.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/01-introduction.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/01-introduction.mdx rename to content/academy/entrepreneur/foundations-web3-venture/03-user-personas/01-introduction.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/02-finding-first-users.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/02-finding-first-users.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/02-finding-first-users.mdx rename to content/academy/entrepreneur/foundations-web3-venture/03-user-personas/02-finding-first-users.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/03-asking-right-questions.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/03-asking-right-questions.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/03-asking-right-questions.mdx rename to content/academy/entrepreneur/foundations-web3-venture/03-user-personas/03-asking-right-questions.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/04-why-engagement-matters.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/04-why-engagement-matters.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/04-why-engagement-matters.mdx rename to content/academy/entrepreneur/foundations-web3-venture/03-user-personas/04-why-engagement-matters.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/05-engagement-strategy.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/05-engagement-strategy.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/05-engagement-strategy.mdx rename to content/academy/entrepreneur/foundations-web3-venture/03-user-personas/05-engagement-strategy.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/06-key-takeaways.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/06-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/06-key-takeaways.mdx rename to content/academy/entrepreneur/foundations-web3-venture/03-user-personas/06-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx similarity index 85% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx rename to content/academy/entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx index 138b95fd309..64ce5aaf240 100644 --- a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx +++ b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the User Personas module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx new file mode 100644 index 00000000000..a574e2c5b44 --- /dev/null +++ b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx @@ -0,0 +1,17 @@ +--- +title: Test Your Knowledge +description: Interactive quiz to test your understanding of User Personas in Web3 +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + + + +Congratulations! You've completed **[Module 3](/academy/entrepreneur/foundations-web3-venture/03-user-personas/01-introduction)**! 🎉 If you've also finished [Module 1A](/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction), and [Module 2](/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction), you've now unlocked the **Foundations of a Web3 Venture** certificate! Head to your Builder's Hub profile to download it. Amazing work! 🚀 diff --git a/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx new file mode 100644 index 00000000000..26372ff43bb --- /dev/null +++ b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx @@ -0,0 +1,13 @@ +--- +title: Additional Learning +description: Resources for further exploration of user research +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: BookOpen +--- + +[User Interviews 101 (NN/g)](https://www.nngroup.com/articles/user-interviews/) - Nielsen Norman Group + +[The "Mom Test" Book](https://www.momtestbook.com/) - Rob Fitzpatrick + +Did you complete [Module 1](/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 2](/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/academy/entrepreneur/foundations-web3-venture/03-user-personas/01-introduction)? Congratulations! Claim your free "**Foundations of a Web3 Venture**" certificate. \ No newline at end of file diff --git a/content/codebase-entrepreneur/foundations-web3-venture/certificate.mdx b/content/academy/entrepreneur/foundations-web3-venture/certificate.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/certificate.mdx rename to content/academy/entrepreneur/foundations-web3-venture/certificate.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/index.mdx b/content/academy/entrepreneur/foundations-web3-venture/index.mdx similarity index 88% rename from content/codebase-entrepreneur/foundations-web3-venture/index.mdx rename to content/academy/entrepreneur/foundations-web3-venture/index.mdx index c536e19b1ef..2fd163a50dc 100644 --- a/content/codebase-entrepreneur/foundations-web3-venture/index.mdx +++ b/content/academy/entrepreneur/foundations-web3-venture/index.mdx @@ -1,5 +1,5 @@ --- -title: Codebase Entrepreneur Academy +title: Entrepreneur Academy description: Building a Successful Web3 Startup updated: 2025-07-31 authors: [nicolasarnedo] @@ -12,7 +12,7 @@ icon: Smile loop playsInline > - + Your browser does not support the video tag. diff --git a/content/codebase-entrepreneur/foundations-web3-venture/meta.json b/content/academy/entrepreneur/foundations-web3-venture/meta.json similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/meta.json rename to content/academy/entrepreneur/foundations-web3-venture/meta.json diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/01-introduction.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/01-introduction.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/01-introduction.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/02-fundraising-process.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/02-fundraising-process.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/02-fundraising-process.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/02-fundraising-process.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/03-why-fundraising-matters.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/03-why-fundraising-matters.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/03-why-fundraising-matters.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/03-why-fundraising-matters.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/04-implementing-strategy.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/04-implementing-strategy.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/04-implementing-strategy.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/04-implementing-strategy.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/05-key-takeaways.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/05-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/05-key-takeaways.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/05-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx similarity index 84% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx index aed26775a63..7b437057707 100644 --- a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx +++ b/content/academy/entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx @@ -8,7 +8,7 @@ icon: BookOpen ## Additional Learning -Fundraising Pressure Testing: [Prepare for your Mock Pitch](/codebase-entrepreneur-academy/fundraising-finance/09-fundraising/09-prepare-mock-pitch) +Fundraising Pressure Testing: [Prepare for your Mock Pitch](/academy/entrepreneur/fundraising-finance/09-fundraising/09-prepare-mock-pitch) ### Recommended Resources diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx similarity index 85% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx index b2940390ad6..fab175e99af 100644 --- a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx +++ b/content/academy/entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx @@ -15,7 +15,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Fundraising module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx new file mode 100644 index 00000000000..865b3de1751 --- /dev/null +++ b/content/academy/entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx @@ -0,0 +1,15 @@ +--- +title: Test Your Knowledge +description: Test your understanding of fundraising concepts +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + +Fantastic work finishing [Module 9](/academy/entrepreneur/fundraising-finance/09-fundraising/01-introduction)! Completing one module is always impressive, but to be certified at this level, you'll need to finish [Module 9](/academy/entrepreneur/fundraising-finance/09-fundraising/01-introduction), [Module 10](/academy/entrepreneur/fundraising-finance/10-grants/01-introduction), and [Module 11](/academy/entrepreneur/fundraising-finance/11-pitching/01-introduction) to unlock the Web3 Fundraising & Finance Pro certificate. Keep pushing! 💼 diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/09-prepare-mock-pitch.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/09-prepare-mock-pitch.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/09-prepare-mock-pitch.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/09-prepare-mock-pitch.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/10-grants/01-introduction.mdx b/content/academy/entrepreneur/fundraising-finance/10-grants/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/10-grants/01-introduction.mdx rename to content/academy/entrepreneur/fundraising-finance/10-grants/01-introduction.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/10-grants/02-success-criteria.mdx b/content/academy/entrepreneur/fundraising-finance/10-grants/02-success-criteria.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/10-grants/02-success-criteria.mdx rename to content/academy/entrepreneur/fundraising-finance/10-grants/02-success-criteria.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/10-grants/03-common-mistakes.mdx b/content/academy/entrepreneur/fundraising-finance/10-grants/03-common-mistakes.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/10-grants/03-common-mistakes.mdx rename to content/academy/entrepreneur/fundraising-finance/10-grants/03-common-mistakes.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/10-grants/04-beyond-funding.mdx b/content/academy/entrepreneur/fundraising-finance/10-grants/04-beyond-funding.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/10-grants/04-beyond-funding.mdx rename to content/academy/entrepreneur/fundraising-finance/10-grants/04-beyond-funding.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/10-grants/05-key-takeaways.mdx b/content/academy/entrepreneur/fundraising-finance/10-grants/05-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/10-grants/05-key-takeaways.mdx rename to content/academy/entrepreneur/fundraising-finance/10-grants/05-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx b/content/academy/entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx similarity index 86% rename from content/codebase-entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx rename to content/academy/entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx index b37ef6bc88b..02db8e13467 100644 --- a/content/codebase-entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx +++ b/content/academy/entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Grants module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/fundraising-finance/10-grants/07-quiz.mdx b/content/academy/entrepreneur/fundraising-finance/10-grants/07-quiz.mdx new file mode 100644 index 00000000000..c92de5481a5 --- /dev/null +++ b/content/academy/entrepreneur/fundraising-finance/10-grants/07-quiz.mdx @@ -0,0 +1,19 @@ +--- +title: Test Your Knowledge +description: Quick quiz to assess understanding +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + + + + + +Excellent progress on [Module 10](/academy/entrepreneur/fundraising-finance/10-grants/01-introduction)! You're making great strides. Remember, to unlock the Web3 Fundraising & Finance Pro certificate, you'll need to complete [Module 9](/academy/entrepreneur/fundraising-finance/09-fundraising/01-introduction), [Module 10](/academy/entrepreneur/fundraising-finance/10-grants/01-introduction), and [Module 11](/academy/entrepreneur/fundraising-finance/11-pitching/01-introduction). Keep up the momentum! 💰 diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/01-introduction.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/01-introduction.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/01-introduction.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/02-effective-pitch-storytelling.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/02-effective-pitch-storytelling.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/02-effective-pitch-storytelling.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/02-effective-pitch-storytelling.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/03-building-credibility.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/03-building-credibility.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/03-building-credibility.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/03-building-credibility.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/04-advanced-techniques.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/04-advanced-techniques.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/04-advanced-techniques.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/04-advanced-techniques.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/05-pitch-success.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/05-pitch-success.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/05-pitch-success.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/05-pitch-success.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/06-why-it-matters.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/06-why-it-matters.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/06-why-it-matters.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/06-why-it-matters.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/07-applying.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/07-applying.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/07-applying.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/07-applying.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/08-key-takeways.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/08-key-takeways.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/08-key-takeways.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/08-key-takeways.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx similarity index 85% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx index 8937da831ba..b82b279a619 100644 --- a/content/codebase-entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx +++ b/content/academy/entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Pitching module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx new file mode 100644 index 00000000000..8c6494b78b7 --- /dev/null +++ b/content/academy/entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx @@ -0,0 +1,15 @@ +--- +title: Test Your Knowledge +description: Test your understanding of pitching concepts +updated: 2025-01-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + +Congratulations on completing [Module 11](/academy/entrepreneur/fundraising-finance/11-pitching/01-introduction)! You've now mastered the art of pitching - a critical skill for any entrepreneur. If you've also completed [Module 9](/academy/entrepreneur/fundraising-finance/09-fundraising/01-introduction) and [Module 10](/academy/entrepreneur/fundraising-finance/10-grants/01-introduction), you've unlocked the **Web3 Fundraising & Finance Pro** certificate! Check your Builder's Hub profile to download it. Your fundraising journey is complete! 🚀 \ No newline at end of file diff --git a/content/codebase-entrepreneur/fundraising-finance/certificate.mdx b/content/academy/entrepreneur/fundraising-finance/certificate.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/certificate.mdx rename to content/academy/entrepreneur/fundraising-finance/certificate.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/index.mdx b/content/academy/entrepreneur/fundraising-finance/index.mdx similarity index 91% rename from content/codebase-entrepreneur/fundraising-finance/index.mdx rename to content/academy/entrepreneur/fundraising-finance/index.mdx index 01aa3e6fe1e..93b726a4ad8 100644 --- a/content/codebase-entrepreneur/fundraising-finance/index.mdx +++ b/content/academy/entrepreneur/fundraising-finance/index.mdx @@ -13,7 +13,7 @@ icon: Smile loop playsInline > - + Your browser does not support the video tag. diff --git a/content/codebase-entrepreneur/fundraising-finance/meta.json b/content/academy/entrepreneur/fundraising-finance/meta.json similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/meta.json rename to content/academy/entrepreneur/fundraising-finance/meta.json diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/01-introduction.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/01-introduction.mdx rename to content/academy/entrepreneur/go-to-market/04-gtm-strategies/01-introduction.mdx diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/02-structured-framework.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/02-structured-framework.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/02-structured-framework.mdx rename to content/academy/entrepreneur/go-to-market/04-gtm-strategies/02-structured-framework.mdx diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/03-web3-market-considerations.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/03-web3-market-considerations.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/03-web3-market-considerations.mdx rename to content/academy/entrepreneur/go-to-market/04-gtm-strategies/03-web3-market-considerations.mdx diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/04-optimizing-execution.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/04-optimizing-execution.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/04-optimizing-execution.mdx rename to content/academy/entrepreneur/go-to-market/04-gtm-strategies/04-optimizing-execution.mdx diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/05-applying-principles.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/05-applying-principles.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/05-applying-principles.mdx rename to content/academy/entrepreneur/go-to-market/04-gtm-strategies/05-applying-principles.mdx diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/06-key-takeaways.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/06-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/06-key-takeaways.mdx rename to content/academy/entrepreneur/go-to-market/04-gtm-strategies/06-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx similarity index 86% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx rename to content/academy/entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx index df38d8a26e4..4551ffb96b4 100644 --- a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx +++ b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the GTM Strategies module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx new file mode 100644 index 00000000000..f2c512fd293 --- /dev/null +++ b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx @@ -0,0 +1,19 @@ +--- +title: Test Your Knowledge +description: Interactive quiz to test your understanding of go-to-market strategies +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + + + + + +Fantastic! You've wrapped up **[Module 4](/academy/entrepreneur/go-to-market/04-gtm-strategies/01-introduction)**, which is a great accomplishment on its own. But to be certified at this level, you'll need to complete [Module 4](/academy/entrepreneur/go-to-market/04-gtm-strategies/01-introduction), [Module 5](/academy/entrepreneur/go-to-market/05-sales/01-introduction), and [Module 6](/academy/entrepreneur/go-to-market/06-pricing/01-introduction) and unlock the Web3 Go-To-Market Strategist certificate. Keep going—you're on track! 🌍 diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/01-introduction.mdx b/content/academy/entrepreneur/go-to-market/05-sales/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/01-introduction.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/01-introduction.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/02-defining-value-proposition.mdx b/content/academy/entrepreneur/go-to-market/05-sales/02-defining-value-proposition.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/02-defining-value-proposition.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/02-defining-value-proposition.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/03-understanding-your-buyer.mdx b/content/academy/entrepreneur/go-to-market/05-sales/03-understanding-your-buyer.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/03-understanding-your-buyer.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/03-understanding-your-buyer.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/04-selling-during-mvp.mdx b/content/academy/entrepreneur/go-to-market/05-sales/04-selling-during-mvp.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/04-selling-during-mvp.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/04-selling-during-mvp.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/05-managing-first-customers.mdx b/content/academy/entrepreneur/go-to-market/05-sales/05-managing-first-customers.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/05-managing-first-customers.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/05-managing-first-customers.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/06-outreach-and-sales-calls.mdx b/content/academy/entrepreneur/go-to-market/05-sales/06-outreach-and-sales-calls.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/06-outreach-and-sales-calls.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/06-outreach-and-sales-calls.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/07-managing-leads.mdx b/content/academy/entrepreneur/go-to-market/05-sales/07-managing-leads.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/07-managing-leads.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/07-managing-leads.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/08-expanding-sales-team.mdx b/content/academy/entrepreneur/go-to-market/05-sales/08-expanding-sales-team.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/08-expanding-sales-team.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/08-expanding-sales-team.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/09-key-takeaways.mdx b/content/academy/entrepreneur/go-to-market/05-sales/09-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/09-key-takeaways.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/09-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/10-flashcards.mdx b/content/academy/entrepreneur/go-to-market/05-sales/10-flashcards.mdx similarity index 87% rename from content/codebase-entrepreneur/go-to-market/05-sales/10-flashcards.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/10-flashcards.mdx index a2eaf87c048..9219facfd44 100644 --- a/content/codebase-entrepreneur/go-to-market/05-sales/10-flashcards.mdx +++ b/content/academy/entrepreneur/go-to-market/05-sales/10-flashcards.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Sales module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/go-to-market/05-sales/11-quiz.mdx b/content/academy/entrepreneur/go-to-market/05-sales/11-quiz.mdx new file mode 100644 index 00000000000..11581423fad --- /dev/null +++ b/content/academy/entrepreneur/go-to-market/05-sales/11-quiz.mdx @@ -0,0 +1,17 @@ +--- +title: Test Your Knowledge +description: Interactive quiz to test your understanding of Web3 sales strategies +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + + + +You're powering through! Finishing **[Module 5](/academy/entrepreneur/go-to-market/05-sales/01-introduction)** is amazing, but certification at this stage comes after you also complete [Module 4](/academy/entrepreneur/go-to-market/04-gtm-strategies/01-introduction) and [Module 6](/academy/entrepreneur/go-to-market/06-pricing/01-introduction), which will earn you the Web3 Go-To-Market Strategist certificate. Don't stop now! 💡 diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/12-additional-learning.mdx b/content/academy/entrepreneur/go-to-market/05-sales/12-additional-learning.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/12-additional-learning.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/12-additional-learning.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/01-introduction.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/01-introduction.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/01-introduction.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/02-understanding-web3-pricing-fundamentals.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/02-understanding-web3-pricing-fundamentals.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/02-understanding-web3-pricing-fundamentals.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/02-understanding-web3-pricing-fundamentals.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/03-building-your-pricing-framework.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/03-building-your-pricing-framework.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/03-building-your-pricing-framework.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/03-building-your-pricing-framework.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/04-selecting-the-right-pricing-model.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/04-selecting-the-right-pricing-model.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/04-selecting-the-right-pricing-model.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/04-selecting-the-right-pricing-model.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/05-cost-estimation-in-decentralized-systems.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/05-cost-estimation-in-decentralized-systems.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/05-cost-estimation-in-decentralized-systems.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/05-cost-estimation-in-decentralized-systems.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/06-regional-adaptation-strategies.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/06-regional-adaptation-strategies.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/06-regional-adaptation-strategies.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/06-regional-adaptation-strategies.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/07-enterprise-client-approach.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/07-enterprise-client-approach.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/07-enterprise-client-approach.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/07-enterprise-client-approach.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/08-key-takeaways.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/08-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/08-key-takeaways.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/08-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/09-flashcards.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/09-flashcards.mdx similarity index 86% rename from content/codebase-entrepreneur/go-to-market/06-pricing/09-flashcards.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/09-flashcards.mdx index 4b9c162b328..11ea6ef56cc 100644 --- a/content/codebase-entrepreneur/go-to-market/06-pricing/09-flashcards.mdx +++ b/content/academy/entrepreneur/go-to-market/06-pricing/09-flashcards.mdx @@ -12,7 +12,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Pricing module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/go-to-market/06-pricing/10-quiz.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/10-quiz.mdx new file mode 100644 index 00000000000..73fb51e2ea9 --- /dev/null +++ b/content/academy/entrepreneur/go-to-market/06-pricing/10-quiz.mdx @@ -0,0 +1,19 @@ +--- +title: Test Your Knowledge +description: Interactive quiz to test your understanding of Web3 pricing strategies +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: BookOpen +--- + + + + + + + + + +Congrats on completing [Module 4](/academy/entrepreneur/go-to-market/04-gtm-strategies/01-introduction), [Module 5](/academy/entrepreneur/go-to-market/05-sales/01-introduction), and [Module 6](/academy/entrepreneur/go-to-market/06-pricing/01-introduction) of the Entrepreneur Academy! 🎉 You've now unlocked the **Web3 Go-To-Market Strategist** certificate, which is ready for you to download from your Builder's Hub profile. Be proud of this milestone and feel free to share your achievement with your network—you've earned it! 🚀 + +Looking ahead: by completing [Module 7](/academy/entrepreneur/web3-community-architect/07-community-building/01-introduction) and [Module 8](/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction), you'll unlock the Web3 Community Architect certificate. After [Module 9](/academy/entrepreneur/fundraising-finance/09-fundraising/01-introduction), [Module 10](/academy/entrepreneur/fundraising-finance/10-grants/01-introduction), and [Module 11](/academy/entrepreneur/fundraising-finance/11-pitching/01-introduction), you'll achieve the Web3 Fundraising & Finance Pro certificate. And when you complete all 11 modules, you'll officially become a Certified Entrepreneur Academy Graduate—a huge accomplishment that showcases your full journey. 🌟 diff --git a/content/codebase-entrepreneur/go-to-market/certificate.mdx b/content/academy/entrepreneur/go-to-market/certificate.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/certificate.mdx rename to content/academy/entrepreneur/go-to-market/certificate.mdx diff --git a/content/codebase-entrepreneur/go-to-market/index.mdx b/content/academy/entrepreneur/go-to-market/index.mdx similarity index 91% rename from content/codebase-entrepreneur/go-to-market/index.mdx rename to content/academy/entrepreneur/go-to-market/index.mdx index ed7b39e0400..ce8b899f3e7 100644 --- a/content/codebase-entrepreneur/go-to-market/index.mdx +++ b/content/academy/entrepreneur/go-to-market/index.mdx @@ -13,7 +13,7 @@ icon: Smile loop playsInline > - + Your browser does not support the video tag. diff --git a/content/codebase-entrepreneur/go-to-market/meta.json b/content/academy/entrepreneur/go-to-market/meta.json similarity index 100% rename from content/codebase-entrepreneur/go-to-market/meta.json rename to content/academy/entrepreneur/go-to-market/meta.json diff --git a/content/codebase-entrepreneur/meta.json b/content/academy/entrepreneur/meta.json similarity index 100% rename from content/codebase-entrepreneur/meta.json rename to content/academy/entrepreneur/meta.json diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/01-introduction.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/01-introduction.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/01-introduction.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/02-understanding-your-foundation.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/02-understanding-your-foundation.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/02-understanding-your-foundation.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/02-understanding-your-foundation.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/03-social-media-strategy-blueprint.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/03-social-media-strategy-blueprint.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/03-social-media-strategy-blueprint.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/03-social-media-strategy-blueprint.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/04-content-creation-without-full-team.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/04-content-creation-without-full-team.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/04-content-creation-without-full-team.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/04-content-creation-without-full-team.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/05-scalable-content-strategies.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/05-scalable-content-strategies.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/05-scalable-content-strategies.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/05-scalable-content-strategies.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/06-content-iteration-and-observation.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/06-content-iteration-and-observation.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/06-content-iteration-and-observation.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/06-content-iteration-and-observation.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/07-building-authentic-engagement.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/07-building-authentic-engagement.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/07-building-authentic-engagement.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/07-building-authentic-engagement.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/08-common-community-mistakes.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/08-common-community-mistakes.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/08-common-community-mistakes.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/08-common-community-mistakes.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/09-event-planning-for-community.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/09-event-planning-for-community.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/09-event-planning-for-community.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/09-event-planning-for-community.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/10-key-takeaways.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/10-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/10-key-takeaways.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/10-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/11-additional-learning.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/11-additional-learning.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/11-additional-learning.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/11-additional-learning.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx similarity index 85% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx index 5c619c78639..ada1768f4f1 100644 --- a/content/codebase-entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx +++ b/content/academy/entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Community Building module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx new file mode 100644 index 00000000000..788635c8d1d --- /dev/null +++ b/content/academy/entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx @@ -0,0 +1,15 @@ +--- +title: Test Your Knowledge +description: Test your understanding of community building concepts +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + +Amazing job finishing [Module 7](/academy/entrepreneur/web3-community-architect/07-community-building/01-introduction)! This is a big step forward. While completing a single module is fantastic, certification for this stage comes after [Module 7](/academy/entrepreneur/web3-community-architect/07-community-building/01-introduction) and [Module 8](/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction), which will unlock the Web3 Community Architect certificate. You're almost there! 🌟 \ No newline at end of file diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/02-tokenomics.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/02-tokenomics.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/02-tokenomics.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/02-tokenomics.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/03-token-mechanics.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/03-token-mechanics.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/03-token-mechanics.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/03-token-mechanics.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/04-pitfalls.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/04-pitfalls.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/04-pitfalls.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/04-pitfalls.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/05-why-they-matter.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/05-why-they-matter.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/05-why-they-matter.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/05-why-they-matter.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/06-applying-startup.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/06-applying-startup.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/06-applying-startup.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/06-applying-startup.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/07-key-takeaway.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/07-key-takeaway.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/07-key-takeaway.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/07-key-takeaway.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx similarity index 84% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx index a26f00d721e..08ec5d98b26 100644 --- a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx +++ b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Mastering Tokenomics module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx new file mode 100644 index 00000000000..cf9b2404571 --- /dev/null +++ b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx @@ -0,0 +1,15 @@ +--- +title: Test Your Knowledge +description: Test your understanding of tokenomics concepts +updated: 2025-01-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + +Amazing job finishing [Module 8](/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction)! This is a big step forward. While completing a single module is fantastic, certification for this stage comes after [Module 7](/academy/entrepreneur/web3-community-architect/07-community-building/01-introduction) and [Module 8](/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction), which will unlock the Web3 Community Architect certificate. You're almost there! 🌟 diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/10-additional-learning.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/10-additional-learning.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/10-additional-learning.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/10-additional-learning.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/certificate.mdx b/content/academy/entrepreneur/web3-community-architect/certificate.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/certificate.mdx rename to content/academy/entrepreneur/web3-community-architect/certificate.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/index.mdx b/content/academy/entrepreneur/web3-community-architect/index.mdx similarity index 91% rename from content/codebase-entrepreneur/web3-community-architect/index.mdx rename to content/academy/entrepreneur/web3-community-architect/index.mdx index fd2c133f28b..4eb41117e88 100644 --- a/content/codebase-entrepreneur/web3-community-architect/index.mdx +++ b/content/academy/entrepreneur/web3-community-architect/index.mdx @@ -13,7 +13,7 @@ icon: Smile loop playsInline > - + Your browser does not support the video tag. diff --git a/content/codebase-entrepreneur/web3-community-architect/meta.json b/content/academy/entrepreneur/web3-community-architect/meta.json similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/meta.json rename to content/academy/entrepreneur/web3-community-architect/meta.json diff --git a/content/academy/meta.json b/content/academy/meta.json index 91ac594ef96..5c339a2ee52 100644 --- a/content/academy/meta.json +++ b/content/academy/meta.json @@ -1,16 +1,7 @@ { "pages": [ - "blockchain-fundamentals", - "solidity-foundry", - "avalanche-fundamentals", - "permissioned-l1s", - "l1-native-tokenomics", - "interchain-messaging", - "customizing-evm", - "permissionless-l1s", - "interchain-token-transfer", - "icm-chainlink", - "avacloudapis", - "encrypted-erc" + "avalanche-l1", + "blockchain", + "entrepreneur" ] -} \ No newline at end of file +} diff --git a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx b/content/academy/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx deleted file mode 100644 index c3500541acf..00000000000 --- a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Avalanche Starter Kit -description: Learn about the basics of Avalanche. -updated: 2024-05-31 -authors: [martineckardt] -icon: Book ---- - -To make easier your journey through this course, we have prepared a Starter Kit repo consisting of everything you will need to start developing your own custom blockchains on Avalanche. This repo will provide a self-contained environment with Avalanche-CLI, and Foundry so you can follow the course without the need of installing anything else other than launching the environment. - -# What You Will Learn - -In this section, you will go through the following topics: - -- How to launch your own Codespace -- Create your own Avalanche Interchain Messaging enabled custom blockchain -- Foundry configuration - -At the end of this section, you will have your environment ready to follow with the Cross-Chain development with Avalanche Interchain Messaging. diff --git a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx b/content/academy/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx deleted file mode 100644 index 05e2751cba0..00000000000 --- a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Set Up Avalanche Starter Kit -description: Learn about the basics of Avalanche. -updated: 2024-05-31 -authors: [martineckardt] -icon: Terminal ---- - -import SetUp from "@/content/common/avalanche-starter-kit/set-up.mdx"; - -import defaultMdxComponents from "fumadocs-ui/mdx"; - - \ No newline at end of file diff --git a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx b/content/academy/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx deleted file mode 100644 index 2cd9abdd531..00000000000 --- a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Create Blockchain -description: Deploy a new Avalanche L1 on local network. -updated: 2024-05-31 -authors: [martineckardt] -icon: Terminal ---- - -import CreateDefaultBlockchain from "@/content/common/avalanche-starter-kit/create-default-blockchain.mdx"; - -import defaultMdxComponents from "fumadocs-ui/mdx"; - - \ No newline at end of file diff --git a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx b/content/academy/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx deleted file mode 100644 index 1d8da491033..00000000000 --- a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Add Blockchain to Wallet -description: Add the newly created Avalanche L1 to Core. -updated: 2024-05-31 -authors: [martineckardt] -icon: Terminal ---- - -import AddBlockchainToWallet from "@/content/common/core-wallet/add-blockchain-to-wallet.mdx"; - -import defaultMdxComponents from "fumadocs-ui/mdx"; - - \ No newline at end of file diff --git a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx b/content/academy/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx deleted file mode 100644 index 46b95f75a74..00000000000 --- a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Import EWOQ Account -description: Import the private keys of EWOQ account to Core. -updated: 2024-05-31 -authors: [martineckardt] -icon: Terminal ---- - -import ImportEWOQAccount from "@/content/common/core-wallet/import-ewoq-account.mdx"; - - \ No newline at end of file diff --git a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx b/content/academy/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx deleted file mode 100644 index 768a1d189fb..00000000000 --- a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Different Types of Networks -description: Learn about different types of networks. -updated: 2024-05-31 -authors: [martineckardt] -icon: Terminal ---- - -import Networks from "@/content/common/avalanche-starter-kit/networks.mdx"; - -You just deployed and interacted with your first local network. But what does that mean? You can interact with your network, but you will notice that no one else can. Therefore, we have to understand what different Networks are in Avalanche. - - diff --git a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx b/content/academy/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx deleted file mode 100644 index ff8ac627187..00000000000 --- a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Pause and Resume -description: If you've deployed an Avalanche L1, you can preserve and restore the state of your deployed Avalanche L1s. -updated: 2024-10-07 -authors: [0xstt] -icon: BookOpen ---- - -import PauseAndResume from "@/content/common/avalanche-starter-kit/pause-and-resume.mdx"; - -import defaultMdxComponents from "fumadocs-ui/mdx"; - - diff --git a/content/academy/multi-chain-architecture/certificate.mdx b/content/academy/multi-chain-architecture/certificate.mdx deleted file mode 100644 index 378959614d7..00000000000 --- a/content/academy/multi-chain-architecture/certificate.mdx +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Course Completion Certificate -updated: 2024-10-11 -authors: [owenwahlgren] -icon: BadgeCheck ---- - -import CertificatePage from '@/components/quizzes/certificates'; - -You've made it to the end of the course. Let's check your progress and get your certificate. - - - -Thank you for participating in this course. We hope you found it informative and enjoyable! \ No newline at end of file diff --git a/content/academy/multi-chain-architecture/index.mdx b/content/academy/multi-chain-architecture/index.mdx deleted file mode 100644 index 18b38444196..00000000000 --- a/content/academy/multi-chain-architecture/index.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Welcome to the Course -description: Learn about the Multi-Chain Architecture. -updated: 2024-06-28 -authors: [usmaneth] -icon: Smile ---- - -Are you ready to dive deeper into the fascinating world of Avalanche? This course will equip you with a comprehensive understanding of Avalanche's Multi Blockchain architecture, along with the practical skills required to create and manage custom blockchains. - -Ideal for people familiar with the basics of Avalanche, this course will unlock the potential of creating custom blockchains. We will explore the various components and key concepts of the Custom Blockchain architecture, empowering you to fully leverage its benefits. - -Throughout this course, you will gain hands-on experience by utilizing the Avalanche Command Line Interface (Avalanche CLI) to create your own custom blockchains and run them locally. You will explore different variations and configurations to learn the versatility and advantages of custom blockchains. Additionally, you will interact with the local instances using the Core Wallet, further enhancing your practical skills. - -Let's get started exploring the power of Avalanche Custom Blockchains. - -## Presentation - -Below you can find a recording of a presentation about the Multi-Chain Architecture of Avalanche. - - - -## Prerequisites - -This course is for people who understand the Avalanche basics. If you are not familiar with Avalanche Consensus, Virtual Machines, blockchains in Avalanche, or Avalanche Custom Blockchains, we strongly recommend taking our [Avalanche Fundamentals](/academy/avalanche-fundamentals) course first. - -## Learning Outcomes - -In this course you will learn: - -- The benefits of Avalanche Custom Blockchains -- How to use Avalanche CLI to create and run custom blockchains locally -- How to interact with Avalanche L1s using Core Wallet - diff --git a/content/academy/multi-chain-architecture/meta.json b/content/academy/multi-chain-architecture/meta.json deleted file mode 100644 index 6d3512fc55f..00000000000 --- a/content/academy/multi-chain-architecture/meta.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "title": "Multi-Chain Architecture", - "icon": "Logs", - "root": true, - "pages": [ - "index", - "---Custom Blockchains---", - "...02-custom-blockchains", - "---Avalanche Starter Kit---", - "...03-avalanche-starter-kit", - "---Independent Tokenomics---", - "...04-independent-tokenomics", - "---Interoperability---", - "...05-interoperability", - "---Permissioning Users---", - "...06-permissioning-users", - "---Permissioning Validators---", - "...07-permissioning-validators", - "---Customizability---", - "...08-customizability", - "---Conclusion---", - "certificate" - ] -} diff --git a/content/academy/permissionless-l1s/04-speedrun-base-l1/meta.json b/content/academy/permissionless-l1s/04-speedrun-base-l1/meta.json deleted file mode 100644 index 6f3f4227c85..00000000000 --- a/content/academy/permissionless-l1s/04-speedrun-base-l1/meta.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "title": "Permissioned L1 Setup Speedrun", - "pages": [ - "01-create-l1-speedrun", - "02-permissioned-l1-speedrun" - ] -} diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx b/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx deleted file mode 100644 index 72ba58bdce9..00000000000 --- a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Test Your Knowledge -description: Interactive quiz to test your understanding of legal structures for Web3 -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - -Great work finishing **[Module 1A](/codebase-entrepreneur-academy/foundations-web3-venture/01-legal-foundations/01-introduction)**! 🎉 Completing a single module is a fantastic achievement on its own, but if you want to be certified, you'll need to complete [Module 1A](/codebase-entrepreneur-academy/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/codebase-entrepreneur-academy/foundations-web3-venture/01b-security-fundamentals/01-introduction), [Module 2](/codebase-entrepreneur-academy/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/codebase-entrepreneur-academy/foundations-web3-venture/03-user-personas/01-introduction) to unlock the Foundations of a Web3 Venture certificate. Keep going—you're on your way! 🚀 diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx b/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx deleted file mode 100644 index 672f4bc2627..00000000000 --- a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Test Your Knowledge -description: Interactive quiz to test your understanding of security fundamentals for Web3 -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - - - - - -Great work finishing **[Module 1B](/codebase-entrepreneur-academy/foundations-web3-venture/01b-security-fundamentals/01-introduction)**! 🎉 Completing a single module is a fantastic achievement on its own, but if you want to be certified, you'll need to complete [Module 1A](/codebase-entrepreneur-academy/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/codebase-entrepreneur-academy/foundations-web3-venture/01b-security-fundamentals/01-introduction), [Module 2](/codebase-entrepreneur-academy/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/codebase-entrepreneur-academy/foundations-web3-venture/03-user-personas/01-introduction) to unlock the Foundations of a Web3 Venture certificate. Keep going—you're on your way! 🚀 diff --git a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx b/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx deleted file mode 100644 index 5858b0df041..00000000000 --- a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Test Your Knowledge -description: Interactive quiz to test your understanding of Business Model Canvas for Web3 -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - - - - - -Awesome progress! **[Module 2](/codebase-entrepreneur-academy/foundations-web3-venture/02-business-model-canvas/01-introduction)** is done, which is a big win. Remember, while completing a single module is great, certification comes when you finish [Module 1A](/codebase-entrepreneur-academy/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/codebase-entrepreneur-academy/foundations-web3-venture/01b-security-fundamentals/01-introduction), [Module 2](/codebase-entrepreneur-academy/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/codebase-entrepreneur-academy/foundations-web3-venture/03-user-personas/01-introduction) and unlock the Foundations of a Web3 Venture certificate. Stay focused! 🌟 diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx b/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx deleted file mode 100644 index 3db88b6d2e7..00000000000 --- a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Test Your Knowledge -description: Interactive quiz to test your understanding of User Personas in Web3 -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - - - -Congratulations! You've completed **[Module 3](/codebase-entrepreneur-academy/foundations-web3-venture/03-user-personas/01-introduction)**! 🎉 If you've also finished [Module 1A](/codebase-entrepreneur-academy/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/codebase-entrepreneur-academy/foundations-web3-venture/01b-security-fundamentals/01-introduction), and [Module 2](/codebase-entrepreneur-academy/foundations-web3-venture/02-business-model-canvas/01-introduction), you've now unlocked the **Foundations of a Web3 Venture** certificate! Head to your Builder's Hub profile to download it. Amazing work! 🚀 diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx b/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx deleted file mode 100644 index 3dde40c31e4..00000000000 --- a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Additional Learning -description: Resources for further exploration of user research -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: BookOpen ---- - -[User Interviews 101 (NN/g)](https://www.nngroup.com/articles/user-interviews/) - Nielsen Norman Group - -[The "Mom Test" Book](https://www.momtestbook.com/) - Rob Fitzpatrick - -Did you complete [Module 1](/codebase-entrepreneur-academy/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 2](/codebase-entrepreneur-academy/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/codebase-entrepreneur-academy/foundations-web3-venture/03-user-personas/01-introduction)? Congratulations! Claim your free "**Foundations of a Web3 Venture**" certificate. \ No newline at end of file diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx b/content/codebase-entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx deleted file mode 100644 index d0e65a52056..00000000000 --- a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Test Your Knowledge -description: Test your understanding of fundraising concepts -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - -Fantastic work finishing [Module 9](/codebase-entrepreneur-academy/fundraising-finance/09-fundraising/01-introduction)! Completing one module is always impressive, but to be certified at this level, you'll need to finish [Module 9](/codebase-entrepreneur-academy/fundraising-finance/09-fundraising/01-introduction), [Module 10](/codebase-entrepreneur-academy/fundraising-finance/10-grants/01-introduction), and [Module 11](/codebase-entrepreneur-academy/fundraising-finance/11-pitching/01-introduction) to unlock the Web3 Fundraising & Finance Pro certificate. Keep pushing! 💼 diff --git a/content/codebase-entrepreneur/fundraising-finance/10-grants/07-quiz.mdx b/content/codebase-entrepreneur/fundraising-finance/10-grants/07-quiz.mdx deleted file mode 100644 index 42ece988edc..00000000000 --- a/content/codebase-entrepreneur/fundraising-finance/10-grants/07-quiz.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Test Your Knowledge -description: Quick quiz to assess understanding -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - - - - - -Excellent progress on [Module 10](/codebase-entrepreneur-academy/fundraising-finance/10-grants/01-introduction)! You're making great strides. Remember, to unlock the Web3 Fundraising & Finance Pro certificate, you'll need to complete [Module 9](/codebase-entrepreneur-academy/fundraising-finance/09-fundraising/01-introduction), [Module 10](/codebase-entrepreneur-academy/fundraising-finance/10-grants/01-introduction), and [Module 11](/codebase-entrepreneur-academy/fundraising-finance/11-pitching/01-introduction). Keep up the momentum! 💰 diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx b/content/codebase-entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx deleted file mode 100644 index 804b8d5115d..00000000000 --- a/content/codebase-entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Test Your Knowledge -description: Test your understanding of pitching concepts -updated: 2025-01-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - -Congratulations on completing [Module 11](/codebase-entrepreneur-academy/fundraising-finance/11-pitching/01-introduction)! You've now mastered the art of pitching - a critical skill for any entrepreneur. If you've also completed [Module 9](/codebase-entrepreneur-academy/fundraising-finance/09-fundraising/01-introduction) and [Module 10](/codebase-entrepreneur-academy/fundraising-finance/10-grants/01-introduction), you've unlocked the **Web3 Fundraising & Finance Pro** certificate! Check your Builder's Hub profile to download it. Your fundraising journey is complete! 🚀 \ No newline at end of file diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx b/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx deleted file mode 100644 index b1380326a80..00000000000 --- a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Test Your Knowledge -description: Interactive quiz to test your understanding of go-to-market strategies -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - - - - - -Fantastic! You've wrapped up **[Module 4](/codebase-entrepreneur-academy/go-to-market/04-gtm-strategies/01-introduction)**, which is a great accomplishment on its own. But to be certified at this level, you'll need to complete [Module 4](/codebase-entrepreneur-academy/go-to-market/04-gtm-strategies/01-introduction), [Module 5](/codebase-entrepreneur-academy/go-to-market/05-sales/01-introduction), and [Module 6](/codebase-entrepreneur-academy/go-to-market/06-pricing/01-introduction) and unlock the Web3 Go-To-Market Strategist certificate. Keep going—you're on track! 🌍 diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/11-quiz.mdx b/content/codebase-entrepreneur/go-to-market/05-sales/11-quiz.mdx deleted file mode 100644 index 24e8dd4fcdf..00000000000 --- a/content/codebase-entrepreneur/go-to-market/05-sales/11-quiz.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Test Your Knowledge -description: Interactive quiz to test your understanding of Web3 sales strategies -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - - - -You're powering through! Finishing **[Module 5](/codebase-entrepreneur-academy/go-to-market/05-sales/01-introduction)** is amazing, but certification at this stage comes after you also complete [Module 4](/codebase-entrepreneur-academy/go-to-market/04-gtm-strategies/01-introduction) and [Module 6](/codebase-entrepreneur-academy/go-to-market/06-pricing/01-introduction), which will earn you the Web3 Go-To-Market Strategist certificate. Don't stop now! 💡 diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/10-quiz.mdx b/content/codebase-entrepreneur/go-to-market/06-pricing/10-quiz.mdx deleted file mode 100644 index 0ed0d9e5b94..00000000000 --- a/content/codebase-entrepreneur/go-to-market/06-pricing/10-quiz.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Test Your Knowledge -description: Interactive quiz to test your understanding of Web3 pricing strategies -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: BookOpen ---- - - - - - - - - - -Congrats on completing [Module 4](/codebase-entrepreneur-academy/go-to-market/04-gtm-strategies/01-introduction), [Module 5](/codebase-entrepreneur-academy/go-to-market/05-sales/01-introduction), and [Module 6](/codebase-entrepreneur-academy/go-to-market/06-pricing/01-introduction) of the Codebase Entrepreneur Academy! 🎉 You've now unlocked the **Web3 Go-To-Market Strategist** certificate, which is ready for you to download from your Builder's Hub profile. Be proud of this milestone and feel free to share your achievement with your network—you've earned it! 🚀 - -Looking ahead: by completing [Module 7](/codebase-entrepreneur-academy/web3-community-architect/07-community-building/01-introduction) and [Module 8](/codebase-entrepreneur-academy/web3-community-architect/08-mastering-tokenomics/01-introduction), you'll unlock the Web3 Community Architect certificate. After [Module 9](/codebase-entrepreneur-academy/fundraising-finance/09-fundraising/01-introduction), [Module 10](/codebase-entrepreneur-academy/fundraising-finance/10-grants/01-introduction), and [Module 11](/codebase-entrepreneur-academy/fundraising-finance/11-pitching/01-introduction), you'll achieve the Web3 Fundraising & Finance Pro certificate. And when you complete all 11 modules, you'll officially become a Certified Codebase Entrepreneur Academy Graduate—a huge accomplishment that showcases your full journey. 🌟 diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx b/content/codebase-entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx deleted file mode 100644 index 0fea483e2b9..00000000000 --- a/content/codebase-entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Test Your Knowledge -description: Test your understanding of community building concepts -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - -Amazing job finishing [Module 7](/codebase-entrepreneur-academy/web3-community-architect/07-community-building/01-introduction)! This is a big step forward. While completing a single module is fantastic, certification for this stage comes after [Module 7](/codebase-entrepreneur-academy/web3-community-architect/07-community-building/01-introduction) and [Module 8](/codebase-entrepreneur-academy/web3-community-architect/08-mastering-tokenomics/01-introduction), which will unlock the Web3 Community Architect certificate. You're almost there! 🌟 \ No newline at end of file diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx b/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx deleted file mode 100644 index 88445315d11..00000000000 --- a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Test Your Knowledge -description: Test your understanding of tokenomics concepts -updated: 2025-01-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - -Amazing job finishing [Module 8](/codebase-entrepreneur-academy/web3-community-architect/08-mastering-tokenomics/01-introduction)! This is a big step forward. While completing a single module is fantastic, certification for this stage comes after [Module 7](/codebase-entrepreneur-academy/web3-community-architect/07-community-building/01-introduction) and [Module 8](/codebase-entrepreneur-academy/web3-community-architect/08-mastering-tokenomics/01-introduction), which will unlock the Web3 Community Architect certificate. You're almost there! 🌟 diff --git a/content/courses.tsx b/content/courses.tsx index b85c03cc1e2..41b008fd43f 100644 --- a/content/courses.tsx +++ b/content/courses.tsx @@ -10,7 +10,7 @@ export type Course = { languages: string[]; tools: string[]; instructors: string[]; - category: "Fundamentals" | "Smart Contract Development" | "L1 Development" | "Interoperability" | "Codebase"; + category: "Fundamentals" | "Smart Contract Development" | "L1 Development" | "Interoperability" | "Entrepreneur"; certificateTemplate?: string; }; @@ -88,7 +88,7 @@ const officialCourses: Course[] = [ status: "featured", tools: ["Avalanche CLI"], languages: ["Go"], - instructors: ["Martin Eckardt", "Ash"], // + Usman + instructors: ["Martin Eckardt", "Ash"], category: "L1 Development", certificateTemplate: "https://qizat5l3bwvomkny.public.blob.vercel-storage.com/AvalancheAcademy_Certificate.pdf" }, @@ -191,9 +191,9 @@ const officialCourses: Course[] = [ status: "featured", duration: "1 hour", languages: [], - tools: ["Codebase"], + tools: ["Entrepreneur"], instructors: ["Michael Martin", "Doro Unger-Lee", "Nicolas Arnedo"], - category: "Codebase", + category: "Entrepreneur", certificateTemplate: "https://qizat5l3bwvomkny.public.blob.vercel-storage.com/Codebase_EntrepreneurAcademy_Certificate_Foundations.pdf" }, { @@ -204,9 +204,9 @@ const officialCourses: Course[] = [ status: "featured", duration: "1 hour", languages: [], - tools: ["Codebase"], + tools: ["Entrepreneur"], instructors: ["Michael Martin", "Doro Unger-Lee", "Nicolas Arnedo"], - category: "Codebase", + category: "Entrepreneur", certificateTemplate: "https://qizat5l3bwvomkny.public.blob.vercel-storage.com/Codebase_EntrepreneurAcademy_Certificate_GTM.pdf" }, { @@ -217,9 +217,9 @@ const officialCourses: Course[] = [ status: "featured", duration: "1 hour", languages: [], - tools: ["Codebase"], + tools: ["Entrepreneur"], instructors: ["Michael Martin", "Doro Unger-Lee", "Nicolas Arnedo"], - category: "Codebase", + category: "Entrepreneur", certificateTemplate: "https://qizat5l3bwvomkny.public.blob.vercel-storage.com/Codebase_EntrepreneurAcademy_Certificate_Community.pdf" }, { @@ -230,9 +230,9 @@ const officialCourses: Course[] = [ status: "featured", duration: "1 hour", languages: [], - tools: ["Codebase"], + tools: ["Entrepreneur"], instructors: ["Michael Martin", "Doro Unger-Lee", "Nicolas Arnedo"], - category: "Codebase", + category: "Entrepreneur", certificateTemplate: "https://qizat5l3bwvomkny.public.blob.vercel-storage.com/Codebase_EntrepreneurAcademy_Certificate_Fundraising.pdf" }, { @@ -290,7 +290,7 @@ const ecosystemCourses: Course[] = [ }*/ ]; -const codebaseEntrepreneurCourses = officialCourses.filter((course) => course.category === "Codebase"); +const entrepreneurCourses = officialCourses.filter((course) => course.category === "Entrepreneur"); // Helper function to create course configuration mappings export const getCourseConfig = () => { @@ -312,7 +312,7 @@ export const getCourseConfig = () => { export const getCourseNameMapping = () => { const mapping: Record = {}; - codebaseEntrepreneurCourses.forEach(course => { + entrepreneurCourses.forEach(course => { if (course.certificateTemplate) { mapping[course.slug] = course.name; } @@ -322,9 +322,9 @@ export const getCourseNameMapping = () => { }; export default { - official: officialCourses.filter((course) => ["normal", "featured"].includes(course.status) && course.category !== "Codebase"), - official_featured: officialCourses.filter((course) => course.status === "featured" && course.category !== "Codebase"), - codebaseEntrepreneur: codebaseEntrepreneurCourses, + official: officialCourses.filter((course) => ["normal", "featured"].includes(course.status) && course.category !== "Entrepreneur"), + official_featured: officialCourses.filter((course) => course.status === "featured" && course.category !== "Entrepreneur"), + avalancheEntrepreneur: entrepreneurCourses, ecosystem: ecosystemCourses, }; diff --git a/content/docs/rpcs/c-chain/index.mdx b/content/docs/rpcs/c-chain/index.mdx index 0a9514a6203..2081bceb23a 100644 --- a/content/docs/rpcs/c-chain/index.mdx +++ b/content/docs/rpcs/c-chain/index.mdx @@ -4,9 +4,7 @@ description: "This page is an overview of the C-Chain RPC associated with Avalan edit_url: https://github.com/ava-labs/coreth/edit/master/plugin/evm/api.md --- - -Ethereum has its own notion of `networkID` and `chainID`. These have no relationship to Avalanche's view of networkID and chainID and are purely internal to the [C-Chain](https://github.com/docs/quick-start/primary-network#c-chain). On Mainnet, the C-Chain uses `1` and `43114` for these values. On the Fuji Testnet, it uses `1` and `43113` for these values. `networkID` and `chainID` can also be obtained using the `net_version` and `eth_chainId` methods. - +> **Note:** Ethereum has its own notion of `networkID` and `chainID`. These have no relationship to Avalanche's view of networkID and chainID and are purely internal to the [C-Chain](https://build.avax.network/docs/quick-start/primary-network#c-chain). On Mainnet, the C-Chain uses `1` and `43114` for these values. On the Fuji Testnet, it uses `1` and `43113` for these values. `networkID` and `chainID` can also be obtained using the `net_version` and `eth_chainId` methods. ## Ethereum APIs @@ -30,10 +28,7 @@ where `blockchainID` is the ID of the blockchain running the EVM. #### WebSocket Endpoints - -On the [public API node](https://github.com/docs/tooling/rpc-providers), it only supports C-Chain -websocket API calls for API methods that don't exist on the C-Chain's HTTP API - +> **Info:** The [public API node](https://build.avax.network/integrations#RPC%20Providers) (api.avax.network) supports HTTP APIs for X-Chain, P-Chain, and C-Chain, but websocket connections are only available for C-Chain. Other EVM chains are not available via websocket on the public API node. To interact with C-Chain via the websocket endpoint: @@ -47,10 +42,7 @@ For example, to interact with the C-Chain's Ethereum APIs via websocket on local ws://127.0.0.1:9650/ext/bc/C/ws ``` -} > -On localhost, use `ws://`. When using the [Public API](https://github.com/docs/tooling/rpc-providers) or another -host that supports encryption, use `wss://`. - +> **Tip:** On localhost, use `ws://`. When using the [Public API](https://build.avax.network/integrations#RPC%20Providers) or another host that supports encryption, use `wss://`. To interact with other instances of the EVM via the websocket endpoint: @@ -77,10 +69,7 @@ You can interact with these services the same exact way you'd interact with Geth and [Geth's JSON-RPC Documentation](https://geth.ethereum.org/docs/rpc/server) for a full description of this API. - -For batched requests on the [public API node](https://github.com/docs/tooling/rpc-providers) , the maximum -number of items is 40. - +> **Info:** For batched requests on the [public API node](https://build.avax.network/integrations#RPC%20Providers) , the maximum number of items is 40. #### Exceptions @@ -167,19 +156,19 @@ curl -X POST --data '{ ``` For more information on dynamic fees see the [C-Chain section of the transaction fee -documentation](https://github.com/docs/api-reference/guides/txn-fees#c-chain-fees). +documentation](https://build.avax.network/docs/rpcs/other/guides/txn-fees#c-chain-fees). ## Admin APIs The Admin API provides administrative functionality for the EVM. -### Endpoint +### Admin API Endpoint ```sh /ext/bc/C/admin ``` -### Methods +### Admin API Methods #### `admin_startCPUProfiler` @@ -317,13 +306,13 @@ curl -X POST --data '{ ## Avalanche-Specific APIs -### Endpoint +### Avalanche-Specific API Endpoint ```sh /ext/bc/C/avax ``` -### Methods +### Avalanche-Specific API Methods #### `avax.getUTXOs` @@ -454,27 +443,4 @@ curl -X POST --data '{ "encoding": "hex" }] }' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/C/avax -``` - -#### `avax.version` - -Returns the version of the VM. - -**Signature:** - -```sh -avax.version() -> { - version: string -} -``` - -**Example Call:** - -```sh -curl -X POST --data '{ - "jsonrpc":"2.0", - "id" :1, - "method" :"avax.version", - "params" :[] -}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/C/avax ``` \ No newline at end of file diff --git a/hooks/useCertificates.ts b/hooks/useCertificates.ts index adde7f602f2..0078a2bdd97 100644 --- a/hooks/useCertificates.ts +++ b/hooks/useCertificates.ts @@ -90,8 +90,12 @@ export function useCertificates(): UseCertificatesReturn { // Redirect after success setTimeout(() => { // Redirect to the appropriate academy page - if (courseId.startsWith('codebase-entrepreneur-')) { - router.push('/codebase-entrepreneur-academy'); + if ( + courseId.startsWith('codebase-entrepreneur-') || + courseId.startsWith('avalanche-entrepreneur-') || + courseId.startsWith('entrepreneur-') + ) { + router.push('/academy/entrepreneur'); } else { router.push('/academy'); } diff --git a/lib/source.ts b/lib/source.ts index 7f825437677..5d0c23d606c 100644 --- a/lib/source.ts +++ b/lib/source.ts @@ -6,7 +6,7 @@ import { } from 'fumadocs-core/source'; import { createElement } from 'react'; import { icons } from 'lucide-react'; -import { meta, docs, blog as blogs, course, courseMeta, integrations, codebaseEntrepreneur, codebaseEntrepreneurMeta } from '@/.source'; +import { meta, docs, blog as blogs, course, courseMeta, integrations } from '@/.source'; import { openapiPlugin } from 'fumadocs-openapi/server'; export const documentation = loader({ @@ -87,6 +87,37 @@ export function getAcpsTree() { }); } +function filterTreeByPrefix(tree: any, prefix: string): any { + if (!Array.isArray(tree)) { + if (tree && typeof tree === 'object' && 'children' in tree) { + const filteredChildren = filterTreeByPrefix(tree.children, prefix); + return { + ...tree, + children: Array.isArray(filteredChildren) ? filteredChildren : [], + }; + } + return tree; + } + + return tree + .map((node) => { + const children = node.children ? filterTreeByPrefix(node.children, prefix) : []; + const normalizedChildren = Array.isArray(children) ? children : []; + const hasChildren = normalizedChildren.length > 0; + const matches = typeof node.url === 'string' && node.url.startsWith(prefix); + + if (matches || hasChildren || !node.url) { + return { + ...node, + children: normalizedChildren, + }; + } + + return null; + }) + .filter((node) => node !== null); +} + export const academy = loader({ baseUrl: '/academy', icon(icon) { @@ -96,14 +127,11 @@ export const academy = loader({ source: createMDXSource(course, courseMeta as any), }); -export const codebaseEntrepreneurAcademy = loader({ - baseUrl: '/codebase-entrepreneur-academy', - icon(icon) { - if (icon && icon in icons) - return createElement(icons[icon as keyof typeof icons]); - }, - source: createMDXSource(codebaseEntrepreneur, codebaseEntrepreneurMeta as any), -}); +export function getAcademyTree(prefix: string) { + const fullTree = academy.pageTree; + if (!prefix) return fullTree; + return filterTreeByPrefix(fullTree, prefix); +} export const blog = loader({ baseUrl: '/blog', diff --git a/next.config.mjs b/next.config.mjs index 4dea883d724..53f1d3090f9 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -174,12 +174,22 @@ const config = { }, { source: '/codebase-entrepreneur', - destination: '/codebase-entrepreneur-academy', + destination: '/academy/entrepreneur', permanent: true, }, { source: '/codebase-entrepreneur/:path*', - destination: '/codebase-entrepreneur-academy/:path*', + destination: '/academy/entrepreneur/:path*', + permanent: true, + }, + { + source: '/codebase-entrepreneur-academy', + destination: '/academy', + permanent: true, + }, + { + source: '/codebase-entrepreneur-academy/:path*', + destination: '/academy/entrepreneur/:path*', permanent: true, }, { @@ -189,7 +199,7 @@ const config = { }, { source: '/tools/l1-launcher', - destination: '/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1', + destination: '/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1', permanent: true, }, { @@ -254,40 +264,40 @@ const config = { }, { source: '/academy/interchain-messaging/10-running-a-relayer/01-running-a-relayer', - destination: '/academy/interchain-messaging/10-running-a-relayer/01-relayer-introduction', + destination: '/academy/avalanche-l1/interchain-messaging/10-running-a-relayer/01-relayer-introduction', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/02-control-the-avalanche-cli-relayer', - destination: '/academy/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', + destination: '/academy/avalanche-l1/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/03-install-relayer', - destination: '/academy/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', + destination: '/academy/avalanche-l1/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/05-multichain-relayer-config', - destination: '/academy/interchain-messaging/10-running-a-relayer/02-relayer-configuration#multichain-relayer-configuration', + destination: '/academy/avalanche-l1/interchain-messaging/10-running-a-relayer/02-relayer-configuration#multichain-relayer-configuration', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/06-analyze-relayer-logs', - destination: '/academy/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', + destination: '/academy/avalanche-l1/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', permanent: true, }, { source: '/academy/interchain-messaging/03-avalanche-starter-kit/03-create-blockchain', - destination: '/academy/interchain-messaging/03-avalanche-starter-kit/04-networks', + destination: '/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/04-networks', permanent: true, }, { source: '/academy/interchain-messaging/03-avalanche-starter-kit/06-pause-and-resume', - destination: '/academy/interchain-messaging/03-avalanche-starter-kit/04-networks', + destination: '/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/04-networks', permanent: true, }, { source: '/docs/subnets/customize-a-subnet', destination: '/docs/avalanche-l1s/upgrade/customize-avalanche-l1', permanent: true, - }, { + }, { source: '/docs/build/tutorials/platform/create-a-local-test-network', - destination: '/academy/avalanche-fundamentals', + destination: '/academy/avalanche-l1/avalanche-fundamentals', permanent: true, }, { source: '/docs/api-reference/standards/guides/issuing-api-calls', @@ -359,22 +369,22 @@ const config = { permanent: true, }, { source: "/academy/l1-validator-management", - destination: "/academy/permissioned-l1s", + destination: "/academy/avalanche-l1/permissioned-l1s", permanent: true, }, { source: "/academy/l1-validator-management/:path*", - destination: "/academy/permissioned-l1s/:path*", + destination: "/academy/avalanche-l1/permissioned-l1s/:path*", permanent: true, }, { source: "/academy/l1-tokenomics", - destination: "/academy/l1-native-tokenomics", + destination: "/academy/avalanche-l1/l1-native-tokenomics", permanent: true, }, { source: "/academy/l1-tokenomics/:path*", - destination: "/academy/l1-native-tokenomics/:path*", + destination: "/academy/avalanche-l1/l1-native-tokenomics/:path*", permanent: true, }, { @@ -407,6 +417,136 @@ const config = { destination: "/docs/nodes/chain-configs/subnet-evm", permanent: true, }, + { + source: "/academy/avalanche-fundamentals", + destination: "/academy/avalanche-l1/avalanche-fundamentals", + permanent: true, + }, + { + source: "/academy/avalanche-fundamentals/:path*", + destination: "/academy/avalanche-l1/avalanche-fundamentals/:path*", + permanent: true, + }, + { + source: "/academy/blockchain-fundamentals", + destination: "/academy/blockchain/blockchain-fundamentals", + permanent: true, + }, + { + source: "/academy/blockchain-fundamentals/:path*", + destination: "/academy/blockchain/blockchain-fundamentals/:path*", + permanent: true, + }, + { + source: "/academy/solidity-foundry", + destination: "/academy/blockchain/solidity-foundry", + permanent: true, + }, + { + source: "/academy/solidity-foundry/:path*", + destination: "/academy/blockchain/solidity-foundry/:path*", + permanent: true, + }, + { + source: "/academy/encrypted-erc", + destination: "/academy/blockchain/encrypted-erc", + permanent: true, + }, + { + source: "/academy/encrypted-erc/:path*", + destination: "/academy/blockchain/encrypted-erc/:path*", + permanent: true, + }, + { + source: "/academy/customizing-evm", + destination: "/academy/avalanche-l1/customizing-evm", + permanent: true, + }, + { + source: "/academy/customizing-evm/:path*", + destination: "/academy/avalanche-l1/customizing-evm/:path*", + permanent: true, + }, + { + source: "/academy/interchain-messaging", + destination: "/academy/avalanche-l1/interchain-messaging", + permanent: true, + }, + { + source: "/academy/interchain-messaging/:path*", + destination: "/academy/avalanche-l1/interchain-messaging/:path*", + permanent: true, + }, + { + source: "/academy/interchain-token-transfer", + destination: "/academy/avalanche-l1/interchain-token-transfer", + permanent: true, + }, + { + source: "/academy/interchain-token-transfer/:path*", + destination: "/academy/avalanche-l1/interchain-token-transfer/:path*", + permanent: true, + }, + { + source: "/academy/icm-chainlink", + destination: "/academy/avalanche-l1/icm-chainlink", + permanent: true, + }, + { + source: "/academy/icm-chainlink/:path*", + destination: "/academy/avalanche-l1/icm-chainlink/:path*", + permanent: true, + }, + { + source: "/academy/permissioned-l1s", + destination: "/academy/avalanche-l1/permissioned-l1s", + permanent: true, + }, + { + source: "/academy/permissioned-l1s/:path*", + destination: "/academy/avalanche-l1/permissioned-l1s/:path*", + permanent: true, + }, + { + source: "/academy/l1-native-tokenomics", + destination: "/academy/avalanche-l1/l1-native-tokenomics", + permanent: true, + }, + { + source: "/academy/l1-native-tokenomics/:path*", + destination: "/academy/avalanche-l1/l1-native-tokenomics/:path*", + permanent: true, + }, + { + source: "/academy/permissionless-l1s", + destination: "/academy/avalanche-l1/permissionless-l1s", + permanent: true, + }, + { + source: "/academy/permissionless-l1s/:path*", + destination: "/academy/avalanche-l1/permissionless-l1s/:path*", + permanent: true, + }, + { + source: "/academy/multi-chain-architecture", + destination: "/academy/avalanche-l1/multi-chain-architecture", + permanent: true, + }, + { + source: "/academy/multi-chain-architecture/:path*", + destination: "/academy/avalanche-l1/multi-chain-architecture/:path*", + permanent: true, + }, + { + source: "/academy/avacloudapis", + destination: "/academy/avalanche-l1/avacloudapis", + permanent: true, + }, + { + source: "/academy/avacloudapis/:path*", + destination: "/academy/avalanche-l1/avacloudapis/:path*", + permanent: true, + }, ]; }, }; diff --git a/public/common-images/codebase-entrepreneur-academy/entrepreneur-acadamy.mp4 b/public/common-images/academy/entrepreneur/entrepreneur-acadamy.mp4 similarity index 100% rename from public/common-images/codebase-entrepreneur-academy/entrepreneur-acadamy.mp4 rename to public/common-images/academy/entrepreneur/entrepreneur-acadamy.mp4 diff --git a/scripts/versions.json b/scripts/versions.json index 164e940ccc8..244fc147c36 100644 --- a/scripts/versions.json +++ b/scripts/versions.json @@ -5,9 +5,9 @@ "avaplatform/icm-relayer": "v1.7.4" }, "testnet": { - "avaplatform/avalanchego": "v1.14.0", - "avaplatform/subnet-evm_avalanchego": "v0.8.0_v1.14.0", - "avaplatform/icm-relayer": "v1.7.4" + "avaplatform/avalanchego": "v1.14.0-fuji", + "avaplatform/subnet-evm_avalanchego": "v0.8.0-fuji_v1.14.0-fuji", + "avaplatform/icm-relayer": "v1.7.2-fuji" }, "ava-labs/icm-contracts": "4d5ab0b6dbc653770cfe9709878c9406eb28b71c" } \ No newline at end of file diff --git a/source.config.ts b/source.config.ts index fbf4213171b..fe21450fc93 100644 --- a/source.config.ts +++ b/source.config.ts @@ -57,33 +57,6 @@ export const courseMeta = defineCollections({ }), }); -export const codebaseEntrepreneur = defineCollections({ - type: 'doc', - dir: 'content/codebase-entrepreneur', - schema: frontmatterSchema.extend({ - preview: z.string().optional(), - index: z.boolean().default(false), - updated: z.string().or(z.date()).transform((value, context) => { - try { - return new Date(value); - } catch { - context.addIssue({ code: z.ZodIssueCode.custom, message: "Invalid date" }); - return z.NEVER; - } - }).optional(), - authors: z.array(z.string()).optional(), - comments: z.boolean().default(false), - }), -}); - -export const codebaseEntrepreneurMeta = defineCollections({ - type: 'meta', - dir: 'content/codebase-entrepreneur', - schema: metaSchema.extend({ - description: z.string().optional(), - }), -}); - export const integrations = defineCollections({ type: 'doc', async: true,