diff --git a/app/(home)/page.client.tsx b/app/(home)/page.client.tsx index 21b144373e2..f6556e1262f 100644 --- a/app/(home)/page.client.tsx +++ b/app/(home)/page.client.tsx @@ -5,8 +5,10 @@ import React, { Fragment, type ReactElement, } from 'react'; -import { IndentDecrease, Layers, MailIcon, MonitorCheck, Settings, SproutIcon, SquareGanttChart, TerminalIcon, Webhook, HomeIcon, BadgeDollarSign, CpuIcon, Files, Folder, Globe, Link, FolderCode } from 'lucide-react'; +import { IndentDecrease, Layers, MailIcon, MonitorCheck, Settings, SproutIcon, SquareGanttChart, TerminalIcon, Webhook, HomeIcon, BadgeDollarSign, CpuIcon, Files, Folder, Globe, Link, SquareIcon, ArrowLeftRight, Coins, SquareCode, SquareStackIcon, Triangle, ChevronDownIcon } from 'lucide-react'; import { RootToggle } from 'fumadocs-ui/components/layout/root-toggle'; +import { Menu, Transition } from '@headlessui/react' + export function DeployBlockchainAnimation(): React.ReactElement { const installCmd = 'avalanche blockchain deploy myblockchain'; @@ -168,3 +170,83 @@ export function HamburgerMenu(): React.ReactElement { /> ) } + +interface Option { + title: string + description: string + icon: React.ReactNode + url: string +} + +interface AcademyDropdownProps { + width?: string +} + +const options: Option[] = [ + { + title: 'Academy', + description: '', + icon: <>, + url: '/', + }, + { + title: 'Blockchain Fundamentals', + description: 'Understand fundamental blockchain concepts.', + icon: , + url: 'https://academy.avax.network/course/blockchain-fundamentals', + }, + { + title: 'Avalanche Fundamentals', + description: 'Overview of Avalanche Consensus, L1s, and VMs.', + icon: , + url: 'https://academy.avax.network/course/avalanche-fundamentals', + }, + { + title: "Multi-Chain Architecture", + description: 'Deploy your own blockchain with multi-chain architecture.', + icon: , + url: 'https://academy.avax.network/course/multi-chain-architecture', + }, + { + title: "Interchain Messaging", + description: 'Build cross-chain dApps on Avalanche.', + icon: , + url: 'https://academy.avax.network/course/interchain-messaging', + }, + { + title: "Interchain Token Transfer", + description: 'Transfer assets between Avalanche blockchains.', + icon: , + url: 'https://academy.avax.network/course/interchain-token-transfer', + }, + { + title: "Customizing the EVM", + description: 'Add custom precompiles to the EVM.', + icon: , + url: 'https://academy.avax.network/course/customizing-evm', + }, + { + title: "Layer 1 Tokenomics", + description: 'Design tokenomics for your Avalanche L1.', + icon: , + url: 'https://academy.avax.network/course/l1-tokenomics', + }, + { + title: "AvaCloud APIs", + description: 'Use AvaCloud APIs to build web apps.', + icon: , + url: 'https://academy.avax.network/course/avacloudapis', + }, + { + title: "HyperSDK", + description: 'Build high-performance blockchains with HyperSDK.', + icon: , + url: 'https://academy.avax.network/course/hypersdk', + } +] + +export function AcademyDropdown({ width = 'w-72' }: AcademyDropdownProps) { + return ( + + ) +} \ No newline at end of file diff --git a/app/layout.client.tsx b/app/layout.client.tsx index 51a97c15b44..23676be35da 100644 --- a/app/layout.client.tsx +++ b/app/layout.client.tsx @@ -1,6 +1,6 @@ 'use client'; import type { ReactNode } from 'react'; -import { HamburgerMenu } from './(home)/page.client'; +import { AcademyDropdown, HamburgerMenu } from './(home)/page.client'; const svgCode = ` @@ -62,9 +62,10 @@ export function HomeTitle(): React.ReactElement { return ( <> logo - Documentation -
+ Developer Hub +
+
); @@ -74,7 +75,7 @@ export function Title(): React.ReactElement { return ( <> logo - Documentation + Developer Hub ); } diff --git a/app/layout.config.tsx b/app/layout.config.tsx index 6f3dc244927..735cf0e4312 100644 --- a/app/layout.config.tsx +++ b/app/layout.config.tsx @@ -12,10 +12,6 @@ export const homebaseOptions: BaseLayoutProps = { transparentMode: 'top', }, links: [ - { - text: 'Academy', - url: 'https://academy.avax.network', - }, { text: 'Guides', url: 'https://academy.avax.network/guide', diff --git a/content/docs/dapps/verify-contract/explorer.mdx b/content/docs/dapps/verify-contract/explorer.mdx new file mode 100644 index 00000000000..2cab7e23ce6 --- /dev/null +++ b/content/docs/dapps/verify-contract/explorer.mdx @@ -0,0 +1,51 @@ +--- +title: Using Explorer +description: Learn how to verify a smart contract using the official Avalanche Explorer. +--- + +This document outlines the process of verifying a Smart Contract deployed on the Avalanche Network using the official explorer. + +## Contract Deployment + +1. Compile the smart contract using the tooling of your choice. + +2. Deploy the compiled smart contract to the Avalanche network. + - This can be done on either the mainnet or testnet (depending on your RPC configuration) + +3. Upon successful deployment, you will receive: + - A transaction hash + - A contract address + + +Ensure you save the contract address as it will be required for the verification process. + + +## Contract Verification + +1. Navigate to the official [Avalanche Explorer](https://subnets.avax.network/) and click on **Tools** dropdown menu to select **Smart Contract Verification** interface. You may need to open the [Testnet Explorer](https://subnets-test.avax.network/) in case the contract is deployed on Fuji Testnet. + +![](/images/verification-portal.png) + +2. Prepare the following files: + - The contract's Solidity file (`.sol`) + - The `metadata.json` file containing the ABI and metadata + +3. Upload the required files: + - Upload the contract's Solidity file + - Upload the `metadata.json` file + +4. Enter the contract address: + - Paste the contract address obtained from the deployment step into the designated input field. + +![](/images/contract-addr-input.png) + +5. Initiate verification: + - Click on the **Submit Contract** button to start the verification process. + +## Next Steps + +After submitting the contract for verification, your request will be processed shortly and you will see the below message. + +![](/images/verification-success.png) + +For any issues during deployment or verification, please reach out to the DevRel/Support team on Discord/Telegram/Slack. \ No newline at end of file diff --git a/public/images/contract-addr-input.png b/public/images/contract-addr-input.png new file mode 100644 index 00000000000..b02fca673e5 Binary files /dev/null and b/public/images/contract-addr-input.png differ diff --git a/public/images/verification-portal.png b/public/images/verification-portal.png new file mode 100644 index 00000000000..0d90928b25a Binary files /dev/null and b/public/images/verification-portal.png differ diff --git a/public/images/verification-success.png b/public/images/verification-success.png new file mode 100644 index 00000000000..421246b873e Binary files /dev/null and b/public/images/verification-success.png differ