Skip to content

add glossary blockchain/avalanche key terms #2267

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
472fb73
add glossary for avalanche ecosystem key terms
federiconardelli7 Mar 27, 2025
6527b5c
add glossary for blockchain general key terms
federiconardelli7 Mar 27, 2025
29cdb2f
create the glossary ui component and glossary.json
federiconardelli7 Apr 7, 2025
0e3cdf7
update glossary with all the blockchain/avalanche references
federiconardelli7 Apr 8, 2025
231a911
blockchain fundamentals academy course updated with glossary terms
federiconardelli7 Apr 8, 2025
17861f3
update glossary
federiconardelli7 Apr 9, 2025
9832607
add the avalanche fundamentals academy with glossaryterms
federiconardelli7 Apr 9, 2025
1c8e784
update the common content with glossaryterms
federiconardelli7 Apr 9, 2025
c50afd7
update the academy icm with glossaryterms
federiconardelli7 Apr 9, 2025
4ee4a5e
update the academy ictt with glossaryterms
federiconardelli7 Apr 9, 2025
019530a
update the guides with glossaryterms
federiconardelli7 Apr 9, 2025
46d0148
update the l1-tokenomics with glossaryterms
federiconardelli7 Apr 9, 2025
b59094d
update the academy customizing-evm with glossaryterms
federiconardelli7 Apr 9, 2025
f67f8a4
update the docs with glossaryterms
federiconardelli7 Apr 9, 2025
42c9fca
update the academy multi-chain-architecture with glossaryterms
federiconardelli7 Apr 9, 2025
3625965
update the academy courses with glossaryterms
federiconardelli7 Apr 9, 2025
78735a6
delete the older glossary
federiconardelli7 Apr 9, 2025
42668f3
nothing, just deployment vercel
federiconardelli7 Apr 28, 2025
df180c2
fix type glossary
federiconardelli7 Apr 28, 2025
1a818a6
fix2 type glossary
federiconardelli7 Apr 28, 2025
3671ff2
fix3 type glossary
federiconardelli7 Apr 28, 2025
c128b5d
fix3
federiconardelli7 Apr 28, 2025
672a7e4
fix4
federiconardelli7 Apr 28, 2025
9c326e6
fix5
federiconardelli7 Apr 28, 2025
239928a
fix6
federiconardelli7 Apr 28, 2025
847e1df
fix7
federiconardelli7 Apr 28, 2025
6f79f82
fix9
federiconardelli7 Apr 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion app/academy/[...slug]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ 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 GlossaryTerm from "@/components/content-design/glossary-term";
import {
CodeBlock,
type CodeBlockProps,
Expand Down Expand Up @@ -79,7 +80,7 @@ export default async function Page(props: {
h4: (props) => <Heading as="h4" {...props} />,
h5: (props) => <Heading as="h5" {...props} />,
h6: (props) => <Heading as="h6" {...props} />,
Cards, Card, Callout, Accordion, Accordions, AutoTypeTable, Gallery, Mermaid, Quiz, Popup, PopupContent, PopupTrigger, Step, Steps, Tab, Tabs, TypeTable, YouTube,
Cards, Card, Callout, Accordion, Accordions, AutoTypeTable, Gallery, GlossaryTerm, Mermaid, Quiz, Popup, PopupContent, PopupTrigger, Step, Steps, Tab, Tabs, TypeTable, YouTube,
pre: ({ title, className, icon, allowCopy, ...props }: CodeBlockProps) => (
<CodeBlock title={title} icon={icon} allowCopy={allowCopy}>
<Pre className={cn("max-h-[1200px]", className)} {...props} />
Expand Down
2 changes: 2 additions & 0 deletions app/docs/[...slug]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import { AutoTypeTable } from '@/components/content-design/type-table';
import { BackToTop } from '@/components/ui/back-to-top';
import { File, Folder, Files } from 'fumadocs-ui/components/files';
import Mermaid from "@/components/content-design/mermaid";
import GlossaryTerm from "@/components/content-design/glossary-term";
import type { MDXComponents } from 'mdx/types';
import YouTube from '@/components/content-design/youtube';
import { Feedback } from '@/components/ui/feedback';
Expand Down Expand Up @@ -74,6 +75,7 @@ export default async function Page(props: {
Step,
Steps,
YouTube,
GlossaryTerm,
Mermaid,
TypeTable,
AutoTypeTable,
Expand Down
3 changes: 2 additions & 1 deletion app/guides/[...slug]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import { AutoTypeTable } from '@/components/content-design/type-table';
import { Heading } from 'fumadocs-ui/components/heading';
import YouTube from "@/components/content-design/youtube";
import Gallery from "@/components/content-design/gallery";
import GlossaryTerm from "@/components/content-design/glossary-term";
import { cn } from "@/utils/cn";
import {
CodeBlock,
Expand Down Expand Up @@ -73,7 +74,7 @@ export default async function Page(props: {
h4: (props) => <Heading as="h4" {...props} />,
h5: (props) => <Heading as="h5" {...props} />,
h6: (props) => <Heading as="h6" {...props} />,
BadgeCheck, Cards, Card, Callout, Accordion, Accordions, AutoTypeTable, Gallery, Mermaid, Popup, PopupContent, PopupTrigger, Step, Steps, Tab, Tabs, TypeTable, YouTube,
BadgeCheck, Cards, Card, Callout, Accordion, Accordions, AutoTypeTable, Gallery, GlossaryTerm, Mermaid, Popup, PopupContent, PopupTrigger, Step, Steps, Tab, Tabs, TypeTable, YouTube,
pre: ({ title, className, icon, allowCopy, ...props }: CodeBlockProps) => (
<CodeBlock title={title} icon={icon} allowCopy={allowCopy}>
<Pre className={cn("max-h-[1200px]", className)} {...props} />
Expand Down
75 changes: 75 additions & 0 deletions components/content-design/glossary-term.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
"use client"

import React, { useState, useEffect } from "react"
import Link from "next/link"
import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip"
import glossaryData from "@/content/glossary.json"
import { GlossaryTerm as GlossaryTermType } from "@/types/glossary"

interface GlossaryTermProps {
children: React.ReactNode
termKey?: string // Optional term key if different from the children text
className?: string
}

export default function GlossaryTerm({
children,
termKey,
className = ""
}: GlossaryTermProps) {
const [term, setTerm] = useState<GlossaryTermType | null>(null)

useEffect(() => {
// Get term from glossary data
const searchTerm = termKey || (typeof children === 'string' ? children : null)

if (searchTerm) {
const foundTerm = glossaryData.terms.find(
(t) => t.term.toLowerCase() === searchTerm.toLowerCase()
)
setTerm(foundTerm || null)
}
}, [children, termKey])

if (!term) {
// If term not found in glossary, just render the children without tooltip
return <span className={className}>{children}</span>
}

return (
<Tooltip>
<TooltipTrigger className={`border-b border-dotted border-gray-400 ${className}`}>
{children}
</TooltipTrigger>
<TooltipContent className="max-w-md p-3 bg-white dark:bg-gray-800 text-gray-800 dark:text-gray-200 shadow-lg rounded-lg text-sm">
<div className="flex flex-col gap-2">
<div className="flex items-center gap-2">
<h4 className="font-bold">{term.term}</h4>
{term.abbreviation && (
<span className="text-xs bg-gray-100 dark:bg-gray-700 px-1.5 py-0.5 rounded-md">
{term.abbreviation}
</span>
)}
</div>

{term.previousTerm && (
<div className="text-xs text-gray-500">
Previously known as: <span className="font-medium">{term.previousTerm}</span>
</div>
)}

<p className="text-sm">{term.description}</p>

{term.learnMoreUrl && (
<Link
href={term.learnMoreUrl}
className="text-xs text-blue-600 dark:text-blue-400 hover:underline mt-1"
>
Learn more →
</Link>
)}
</div>
</TooltipContent>
</Tooltip>
)
}
8 changes: 5 additions & 3 deletions content/academy/avacloudapis/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,20 @@ authors: [owenwahlgren]
icon: Smile
---

import GlossaryTerm from '@/components/content-design/glossary-term';

![](/course-banner/avacloudapis.jpg)
## Why Take This Course?

[AvaCloud APIs](https://developers.avacloud.io/introduction), built by [AvaCloud](https://avacloud.io/), provides Web3 developers with multi-chain data from Avalanche’s primary network and other Avalanche L1s. With the AvaCloud API, you can easily build products that utilize real-time and historical transaction data, transfer records, native and token balances, and various types of token metadata.
[AvaCloud APIs](https://developers.avacloud.io/introduction), built by [AvaCloud](https://avacloud.io/), provides Web3 developers with multi-chain data from <GlossaryTerm>Avalanche</GlossaryTerm>'s <GlossaryTerm>Primary Network</GlossaryTerm> and other <GlossaryTerm>Avalanche L1</GlossaryTerm>s. With the AvaCloud API, you can easily build products that utilize real-time and historical transaction data, transfer records, native and <GlossaryTerm>token</GlossaryTerm> balances, and various types of token metadata.

## Course Content

- [AvaCloud API Overview](/academy/avacloudapis/02-overview/01-about)
- [Environment Setup](/academy/avacloudapis/03-environment-setup/01-avacloud-account)
- [Build an ERC-20 Token Balance App](/academy/avacloudapis/04-erc20-token-balance-app/01-overview)
- [Build a Wallet Portfolio App](/academy/avacloudapis/05-wallet-portfolio-app/01-overview)
- [Build a Basic Block Explorer](/academy/avacloudapis/06-block-explorer-app/01-overview)
- [Build a <GlossaryTerm>Wallet</GlossaryTerm> Portfolio App](/academy/avacloudapis/05-wallet-portfolio-app/01-overview)
- [Build a Basic <GlossaryTerm>Block</GlossaryTerm> Explorer](/academy/avacloudapis/06-block-explorer-app/01-overview)

## Prerequisites

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ authors: [martineckardt]
icon: Book
---

import GlossaryTerm from '@/components/content-design/glossary-term';

<YouTube id="3cAFxV2AIU8" />

Avalanche Consensus is a novel consensus protocol that is used in the Avalanche network. It is a leaderless, decentralized, and scalable consensus protocol that is used to achieve consensus on the state of the network.
<GlossaryTerm>Avalanche Consensus</GlossaryTerm> is a novel consensus protocol that is used in the Avalanche network. It is a leaderless, decentralized, and scalable consensus protocol that is used to achieve consensus on the state of the network.

<Quiz quizId="101"/>

Expand All @@ -17,5 +19,5 @@ Avalanche Consensus is a novel consensus protocol that is used in the Avalanche
In this section, you will go through the following topics:

- **Consensus Mechanisms:** Understand what consensus mechanisms are and how they work
- **Snowman Consensus:** Learn about the Snowman consensus protocol
- **<GlossaryTerm>Snowman Consensus</GlossaryTerm>:** Learn about the Snowman consensus protocol
- **TPS vs TTF:** Understand the difference between transactions per second (TPS) and time to finality (TTF)
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ authors: [ashucoder9]
icon: BookOpen
---

Consensus plays a crucial role in [blockchain networks](/guides/what-is-a-blockchain) by resolving conflicts and ensuring that all validators agree on the current state of the distributed ledger. The main objective of a consensus mechanism is to create a single version of truth that is universally accepted by network participants.
import GlossaryTerm from '@/components/content-design/glossary-term';

<GlossaryTerm>Consensus</GlossaryTerm> plays a crucial role in [<GlossaryTerm>blockchain</GlossaryTerm> networks](/guides/what-is-a-blockchain) by resolving conflicts and ensuring that all <GlossaryTerm>validator</GlossaryTerm>s agree on the current state of the distributed <GlossaryTerm>ledger</GlossaryTerm>. The main objective of a <GlossaryTerm>Consensus Mechanism</GlossaryTerm> is to create a single version of truth that is universally accepted by network participants.

Validators can reach a consensus by following a set of steps called a consensus protocol. This way, they collectively decide on the state of the system and all state changes. Different consensus mechanisms have different approaches. All aim to ensure that validators reach a majority agreement on network state.

Expand All @@ -22,7 +24,7 @@ Consensus is needed to agree on the order of state changes in a blockchain. This

A Double Spending Attack is when a user attempts to spend more crypto that they own by creating multiple transactions that reference the same funds.

Let's look at an Example: Alice owns 5 AVAX
Let's look at an Example: Alice owns 5 <GlossaryTerm>AVAX</GlossaryTerm>

![](/course-images/avalanche-fundamentals/2.png)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,19 @@ authors: [ashucoder9]
icon: BookOpen
---

Protocols in the Avalanche family operate through repeated sub-sampled voting. When a validator is determining whether a block should be accepted, it asks a small, random subset of validators on their preferences. Based on the responses the validator gets, it might change its own preference.
import GlossaryTerm from '@/components/content-design/glossary-term';

Let's visualize this with an example. You are a validator in a set of validators that is performing the Avalanche Consensus protocol to agree on whether to send the funds to Charlie (yellow) or to Bob (blue). It is important to understand that none of the validators really cares whether it is going to be yellow or blue, as long as all correctly operating validators decide for the same outcome at the end of the process. The starting preference is chosen random by each validator.
Protocols in the <GlossaryTerm>Avalanche Consensus</GlossaryTerm> family operate through repeated sub-sampled voting. When a <GlossaryTerm>validator</GlossaryTerm> is determining whether a <GlossaryTerm>Block</GlossaryTerm> should be accepted, it asks a small, random subset of validators on their preferences. Based on the responses the validator gets, it might change its own preference.

Let's visualize this with an example. You are a validator in a set of validators that is performing the <GlossaryTerm>Snowman Consensus</GlossaryTerm> protocol to agree on whether to send the funds to Charlie (yellow) or to Bob (blue). It is important to understand that none of the validators really cares whether it is going to be yellow or blue, as long as all correctly operating validators decide for the same outcome at the end of the process. The starting preference is chosen random by each validator.

## Changing Preference

You start by sampling the current preference of five other nodes and they reply: 2 prefer yellow (Charlie) and 3 prefer blue (Bob).

![](/course-images/avalanche-fundamentals/5.png)

Avalanche consensus dictates, that a validator changes its preference if a α-majority of the sampled validators agrees on another option and it goes along with this popular choice.
Avalanche Consensus dictates, that a validator changes its preference if a α-majority of the sampled validators agrees on another option and it goes along with this popular choice.

Let's set the alpha value to 3 in our example, meaning that we change our preference when 3 out of 5 sampled nodes have another preference. Since 3 out of 5 have replied with blue (Bob) we are changing our own preference to Bob.

Expand Down Expand Up @@ -52,7 +54,7 @@ With these parameters we can illustrate the consensus algorithm as pseudo code:

## Finalization

In the common case when a transaction has no conflicts, finalization happens very quickly. When conflicts exist, honest validators quickly cluster around conflicting transactions, entering a positive feedback loop until all correct validators prefer that transaction. This leads to the acceptance of non-conflicting transactions and the rejection of conflicting transactions.
In the common case when a <GlossaryTerm>transaction</GlossaryTerm> has no conflicts, finalization happens very quickly. When conflicts exist, honest validators quickly cluster around conflicting transactions, entering a positive feedback loop until all correct validators prefer that transaction. This leads to the acceptance of non-conflicting transactions and the rejection of conflicting transactions.

Avalanche Consensus guarantees (with high probability based on system parameters) that if any honest validator accepts a transaction, all honest validators will come to the same conclusion.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ authors: [ashucoder9]
icon: BookOpen
---

To measure blockchain performance we can use two metrics:
import GlossaryTerm from '@/components/content-design/glossary-term';

To measure <GlossaryTerm>blockchain</GlossaryTerm> performance we can use two metrics:

- Throughput: How many transaction are finalized per second measured in transactions per second (TPS)
- Time to Finality: How long does it take a transaction to go from being submitted to validators to being unchangeable.
Expand All @@ -31,7 +33,7 @@ Our goal is to build highways with many lanes (high throughput) but that bring u
|---|---|---|
|Bitcoin|7 TPS|60 min|
|Ethereum|30 TPS|6.4 min|
|Avalanche / Avalanche L1|2500 TPS|~0.8 seconds|
|Avalanche / <GlossaryTerm>Avalanche L1</GlossaryTerm>|2500 TPS|~0.8 seconds|

**TPS** &rarr; **Transactions per Second**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@ authors: [ashucoder9]
icon: Book
---

Multi-chain systems are a significant innovation, which provide greater scalability, customizability, and independence. At the core of multi-chain systems is the ability to run multiple blockchains simultaneously. Each blockchain is optimized for specialized use cases, thereby boosting the network's overall performance.
import GlossaryTerm from '@/components/content-design/glossary-term';

Multi-chain systems are a significant innovation, which provide greater scalability, customizability, and independence. At the core of multi-chain systems is the ability to run multiple <GlossaryTerm>blockchain</GlossaryTerm>s simultaneously. Each blockchain is optimized for specialized use cases, thereby boosting the network's overall performance.

## What You Will Learn

In this section, you will go through the following topics:

- **Avalanche L1s:** Understand what Avalanche L1s are and how they work
- **<GlossaryTerm>Avalanche L1</GlossaryTerm>s:** Understand what Avalanche L1s are and how they work
- **Setup Core Wallet:** Learn how to setup the Core wallet browser extension
- **Use Dexalot:** Use your first Avalanche L1
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ authors: [ashucoder9]
icon: BookOpen
---

An Avalanche L1 is a network with its own set of rules regarding membership, token economics, and execution layer. It is composed of a Subset of Avalanche validators collaborating to achieve consensus on the state of one or more blockchains. Validators can be members of numerous Avalanche L1s.
import GlossaryTerm from '@/components/content-design/glossary-term';

Avalanche enables multiple interconnected Avalanche L1s. Each Avalanche L1 is independent while maintaining the capacity to communicate with other Avalanche L1s. All validators are part of the Avalanche L1 known as the Primary Network.
An <GlossaryTerm>Avalanche L1</GlossaryTerm> is a network with its own set of rules regarding membership, token economics, and execution layer. It is composed of a Subset of Avalanche validators collaborating to achieve consensus on the state of one or more <GlossaryTerm>blockchain</GlossaryTerm>s. Validators can be members of numerous Avalanche L1s.

Avalanche enables multiple interconnected Avalanche L1s. Each Avalanche L1 is independent while maintaining the capacity to communicate with other Avalanche L1s. All validators are part of the Avalanche L1 known as the <GlossaryTerm>Primary Network</GlossaryTerm>.

![](/common-images/multi-chain-architecture/subnets.png)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@ authors: [ashucoder9]
icon: BookOpen
---

Avalanche L1s are autonomous. Their creators can define their execution logic, set their own fees, manage their state, handle their networking, and ensure their security. They operate independently from other Avalanche L1s and the Primary Network, effectively enabling the greater Avalanche network to scale while delivering the benefits of lower latency, higher transactions per second (TPS), and lower transaction costs.
import GlossaryTerm from '@/components/content-design/glossary-term';

<GlossaryTerm>Avalanche L1</GlossaryTerm>s are autonomous. Their creators can define their execution logic, set their own fees, manage their state, handle their networking, and ensure their security. They operate independently from other Avalanche L1s and the <GlossaryTerm>Primary Network</GlossaryTerm>, effectively enabling the greater Avalanche network to scale while delivering the benefits of lower latency, higher transactions per second (TPS), and lower transaction costs.

## Scalability Through Multi-Chain Systems


A blockchain has a limited capacity for computation and data storage. Therefore, the transactions it can process in a given time frame are limited. We can use the analogy of a highway to visualize this concept. A highway can only handle a certain number of cars at a time. If too many cars try to enter the highway at once, traffic congestion will occur and they have to wait to enter the highway.
A <GlossaryTerm>blockchain</GlossaryTerm> has a limited capacity for computation and data storage. Therefore, the transactions it can process in a given time frame are limited. We can use the analogy of a highway to visualize this concept. A highway can only handle a certain number of cars at a time. If too many cars try to enter the highway at once, traffic congestion will occur and they have to wait to enter the highway.

In order to scale horizontally and to offer more blockspace, a subset of validators can opt-in to validate an additional blockchain in parallel with the Primary Network: we call this an Avalanche L1. The idea is similiar to building many highways in parallel and create additional space for cars to drive on. This allows for more transactions to be processed in parallel, and therefore increases the overall throughput of the network.

Expand Down
Loading