Skip to content
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

Ilariae/architecture #3

Merged
merged 16 commits into from
Jul 31, 2024
3 changes: 2 additions & 1 deletion learn/.pages
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@ title: Learn
nav:
- index.md
- 'Introduction to Wormhole': 'introduction.md'
- 'Security': security.md
- 'Security': 'security.md'
- 'Architecture Overview': 'architecture.md'
- infrastructure
33 changes: 33 additions & 0 deletions learn/architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
title: Architecture
description: Overview of Wormhole's architecture, detailing key on-chain and off-chain components like the Core Contract, Guardian Network, and relayers.
---
<!--
need to link this page in the introduction page once its merged
need to add links
-->
# Architecture Overview

## Architecture

Wormhole has several noteworthy components. Before discussing each component in depth, this page will provide an overview of how the major pieces fit together.

![Wormhole architecture detailed diagram: source to target chain communication.](/images/learn/architecture/architecture-1.webp)

## On-Chain Components

- **Emitter** - a contract that calls the publish message method on the Core Contract. The Core Contract will write an event to the transaction logs with details about the emitter and sequence number to identify the message. This may be your [xDapp](#){target=\_blank} or an existing ecosystem protocol <!-- link to glossary xDapp -->
- **[Wormhole Core Contract](#){target=\_blank}** - primary contract, this is the contract which the Guardians observe and which fundamentally allows for cross-chain communication <!-- link to core contracts page -->
- **Transaction Log** - blockchain-specific logs that allow the Guardians to observe messages emitted by the core contract

## Off-Chain Components

- **Guardian Network** - validators that exist in their own P2P network. Guardians observe and validate the messages emitted by the Core Contract on each supported chain to produce VAAs (signed messages)
- **[Guardian](#){target=\_blank}** - one of 19 validators in the Guardian Network that contributes to the VAA multisig
- **[Spy](#){target=\_blank}** - a daemon that subscribes to messages published within the Guardian Network. A Spy can observe and forward network traffic, which helps scale up VAA distribution
- **[API](#){target=\_blank}** - a REST server to retrieve details for a VAA or the Guardian Network
- **[VAAs](/learn/infrastructure/vaas/){target=\_blank}** - Verifiable Action Approvals (VAAs) are the signed attestation of an observed message from the Wormhole Core Contract
- **[Relayer](#){target=\_blank}** - any off-chain process that relays a VAA to the target chain
- **Standard Relayers** - a decentralized relayer network that delivers messages that are requested on-chain via the Wormhole Relay Contract
- **Specialized Relayers** - relayers that only handle VAAs for a specific protocol or cross-chain application. They can execute custom logic off-chain, reducing gas costs and increasing cross-chain compatibility. Currently, cross-chain application developers are responsible for developing and hosting specialized relayers

6 changes: 3 additions & 3 deletions learn/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ also missing the list of blockchains

Wormhole is a generic _message-passing protocol_ that enables communication between blockchains.

![Message-passing process in the Wormhole protocol](/images/learn/introduction/simple-overview.webp)
![Message-passing process in the Wormhole protocol](/images/learn/introduction/introduction-1.webp)

!!! note
The above is an oversimplified illustration of the protocol; details about the architecture and components are available on the [architecture page](#){target=\_blank}.
The above is an oversimplified illustration of the protocol; details about the architecture and components are available on the [architecture page](/learn/architecture/){target=\_blank}.
This simple message-passing protocol allows developers and users of cross-chain applications to leverage the advantages of multiple ecosystems.

## What Isn't Wormhole?
Expand Down Expand Up @@ -47,7 +47,7 @@ More tutorials are available [on github](#){target=\_blank}. <!-- tutorials will

Discover more about the Wormhole ecosystem, components, and protocols:

- **[Architecture](#){target=\_blank}** - explore the components of the protocol
- **[Architecture](/learn/architecture/){target=\_blank}** - explore the components of the protocol
- **[Protocol Specifications](https://github.com/wormhole-foundation/wormhole/tree/main/whitepapers){target=\_blank}** - learn about the protocols built on top of Wormhole

## Demos
Expand Down
Loading