From 17d4f062dbaef8430557ccd5acc993614e20c39d Mon Sep 17 00:00:00 2001 From: Ilaria Enache Date: Mon, 29 Jul 2024 20:08:05 +0200 Subject: [PATCH 01/23] spy page setup --- learn/infrastructure/.pages | 1 + learn/infrastructure/guardians.md | 70 ------------------------------- learn/infrastructure/spy.md | 6 +++ 3 files changed, 7 insertions(+), 70 deletions(-) delete mode 100644 learn/infrastructure/guardians.md create mode 100644 learn/infrastructure/spy.md diff --git a/learn/infrastructure/.pages b/learn/infrastructure/.pages index b00826b5..da685165 100644 --- a/learn/infrastructure/.pages +++ b/learn/infrastructure/.pages @@ -3,3 +3,4 @@ nav: - index.md - 'VAAs': 'vaas.md' - 'Guardians': 'guardians.md' + - 'SPY': 'spy.md' diff --git a/learn/infrastructure/guardians.md b/learn/infrastructure/guardians.md deleted file mode 100644 index e9fd7a7e..00000000 --- a/learn/infrastructure/guardians.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: Guardians -description: Discover Wormhole's Guardian Network, a decentralized, modular system enabling secure and scalable cross-chain communication across multiple blockchain ecosystems. ---- - -## Guardian - -Wormhole relies upon a set of distributed nodes that monitor the state on several blockchains. In Wormhole, these nodes are referred to as Guardians. The current guardian set can be seen in the [Dashboard](https://wormhole-foundation.github.io/wormhole-dashboard/#/?endpoint=Mainnet){target=\_blank}. - -It is the guardians' role to observe messages and sign the corresponding payloads. Each guardian performs this step in isolation, later combining the resulting signatures with other guardians as a final step. The resulting collection of independent observations forms a multi-sig, which represents a proof that a state has been observed and agreed upon by a majority of the Wormhole network. These multisigs are referred to as VAAs in Wormhole. - -## Guardian Network - -The Guardian Network is designed to serve as Wormhole's oracle component, and the entire Wormhole ecosystem is founded on its technical underpinnings. It is the most critical element of the Wormhole ecosystem and represents the single most crucial component to learn about if you want a deep understanding of Wormhole. - -To understand not just _how_ the Guardian Network works but _why_ it works the way it does, let's first take a step back and review the key design considerations. To become the best-in-class interoperability platform, Wormhole needed to have five critical features: - -- **Decentralization** - control of the network needs to be distributed amongst many parties -- **Modularity** - disparate parts of the ecosystem, such as the oracle, relayer, applications, etc., should be kept as separate and modular as possible so they can be designed, modified, and upgraded independently -- **Chain Agnosticism** - Wormhole should be able to support not only EVM but also chains like Solana, Algorand, Cosmos, and even platforms that still need to be created. It also should not have any one chain as a single point of failure -- **Scalability** - Wormhole should be able to secure a large amount of value immediately and be able to handle the large transaction volume -- **Upgradeability** - as the decentralized computing ecosystem evolves, Wormhole will need to be able to change the implementation of its existing modules without breaking integrators - -Next, let's examine how Wormhole achieves these one at a time. - -### Decentralization - -Decentralization is the biggest concern. Previous interoperability solutions have largely been entirely centralized, and even newer solutions utilizing things like adversarial relayers still tend to have single points of failure or collusion thresholds as low as one or two. - -When designing a decentralized oracle network, the first option to consider is likely a Proof-of-Stake (PoS) system; this turns out to be a suboptimal solution. PoS is designed for blockchain consensus in smart-contract enabled environments, so it's less suitable when the network verifies the output of many blockchains and does not support its own smart contracts. While it looks appealing from a decentralization perspective, the network security remains to be seen, and it can make some other outlined goals more difficult to achieve. Let's explore other options. - -The next option would be to rush straight for the finish line and use zero-knowledge proofs to secure the network. From a decentralization perspective, this would be a good solution, as it's trustless. However, zero-knowledge proofs are still a nascent technology, and it's not feasible to verify them on-chain, especially on chains with limited computational environments. That means a form of multi-sig will be needed to secure the network. - -If we look at the current De-Fi landscape, most of the top blockchains are secured by the same handful of validator companies. Currently, there are only a limited number of companies in the world with the skills and capital to run top-notch validator companies. - -If a protocol could unite a large number of those validator companies into a purpose-built consensus mechanism optimized for chain interoperability, that design would likely be more performant and secure than a network bootstrapped by a tokenomics model. Assuming the validators would be on board, how many could Wormhole realistically utilize? - -If Wormhole were to use threshold signatures, the answer would be 'as many as are willing to participate.' However, threshold signatures need more support across the blockchain world, meaning verifying the signatures would be difficult and expensive, ultimately limiting scalability and chain agnosticism. Thus, a t-schnorr multisig presents itself as the best option: cheap and well-supported, despite the fact that its verification costs increase linearly with the number of signatures included. - -All these things considered, 19 seems to be the maximum number and a good tradeoff. If two-thirds of the signatures are needed for consensus, then 13 signatures must be verified on-chain, which remains reasonable from a gas-cost perspective. - -Rather than securing the network with tokenomics, it is better to initially secure the network by involving robust companies that are heavily invested in the success of De-Fi as a whole. The 19 Guardians are not anonymous or small--they are many of the largest and most widely known validator companies in cryptocurrency. - -That's how we ended up with the network of 19 Guardians, each with an equal stake and joined in a purpose-built Proof of Authority consensus mechanism. As threshold signatures become better supported, the Guardian set can expand, and once ZKPs are ubiquitous, the Guardian Network will become fully trustless. - -With our perspective on Decentralization laid out, the remaining elements fall into place. - -### Modularity - -The Guardian Network is robust and trustworthy by itself, so there's no need for components like the relayer to contribute to the security model. That makes Wormhole able to have simple components that are very good at their one thing. Guardians only need to verify on-chain activity and produce VAAs, while Relayers only need to interact with blockchains and deliver messages. - -The VAAs' signing scheme can be changed without affecting downstream users, and multiple relay mechanisms can exist independently. xAssets can be implemented purely at the application layer and cross-chain applications can use whatever components suit them. - -### Chain Agnosticism - -Today, Wormhole supports a broader range of ecosystems than any other interoperability protocol because it uses simple tech (t-schnorr signatures), an adaptable, heterogeneous relayer model, and a robust validator network. - -Wormhole can expand to new ecosystems as quickly as a Core Contract can be developed for the smart contract runtime. Relayers don't need to be factored into the security model--they just need to be able to upload messages to the blockchain. The Guardians are able to observe every transaction on every chain without taking shortcuts. - -### Scalability - -Wormhole scales well, as demonstrated by its ability to handle huge TVL and transaction volume--even during tumultuous events. - -The requirements for running a Guardian are relatively heavy, as they need to run a full node for every single blockchain in the ecosystem. This is another reason why a limited number of robust validator companies are beneficial for this design. - -However, once all the full nodes are running, the Guardian Network's actual computation and network overheads become lightweight. The performance of the blockchains themselves tends to be the bottleneck in Wormhole, rather than anything happening inside the Guardian Network. - -### Upgradeability - -Over time, the Guardian Set can be expanded beyond 19 using threshold signatures. Various relaying models will emerge, each with their own strengths and weaknesses. ZKPs can be used on chains where they are well-supported. The cross-chain application ecosystem will grow, and cross-chain applications will become increasingly intermingled. There are very few APIs in Wormhole, and most items are implementation details from an integrator's perspective. This creates a clear pathway towards a fully trustlessness interoperability layer that spans decentralized computing. diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md new file mode 100644 index 00000000..92082248 --- /dev/null +++ b/learn/infrastructure/spy.md @@ -0,0 +1,6 @@ +--- +title: Guardians +description: +--- + +# SPY \ No newline at end of file From fe0934821d912c88169ea9cf08bb404f199122a6 Mon Sep 17 00:00:00 2001 From: Ilaria Enache Date: Mon, 29 Jul 2024 20:18:21 +0200 Subject: [PATCH 02/23] spy content --- learn/infrastructure/spy.md | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 92082248..6268e152 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -1,6 +1,28 @@ --- -title: Guardians +title: SPY description: --- -# SPY \ No newline at end of file + + +# SPY + +A Spy, in the wormhole context, is a daemon that subscribes to the gossiped messages in the Guardian Network. + +The messages available on over gossip are things like + +- [VAAs](#){target=\_blank} +- [Observations](#){target=\_blank} +- Guardian Heartbeats + +The source for the Spy is available on [Github](https://github.com/wormhole-foundation/wormhole/blob/main/node/cmd/spy/spy.go){target=\_blank} + +!!! note + The Spy has no persistence layer built in, so typically its paired with something like Redis or a SQL database to record relevant messages \ No newline at end of file From 366e9f5645f5e7afbfa5fa825f0c15e9a4d06111 Mon Sep 17 00:00:00 2001 From: Ilaria Enache Date: Tue, 30 Jul 2024 10:39:12 +0200 Subject: [PATCH 03/23] grammarly check --- learn/infrastructure/spy.md | 57 +++++++++++++++++++++++++++++++++++-- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 6268e152..67e172c3 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -14,9 +14,9 @@ description: # SPY -A Spy, in the wormhole context, is a daemon that subscribes to the gossiped messages in the Guardian Network. +In the wormhole context, a _spy_ is a daemon that subscribes to the gossiped messages in the Guardian Network. -The messages available on over gossip are things like +The messages available over gossip are things like - [VAAs](#){target=\_blank} - [Observations](#){target=\_blank} @@ -25,4 +25,55 @@ The messages available on over gossip are things like The source for the Spy is available on [Github](https://github.com/wormhole-foundation/wormhole/blob/main/node/cmd/spy/spy.go){target=\_blank} !!! note - The Spy has no persistence layer built in, so typically its paired with something like Redis or a SQL database to record relevant messages \ No newline at end of file + The Spy has no persistence layer built in, so typically, it is paired with something like Redis or an SQL database to record relevant messages + +## Use + +To start a Spy locally, run the following docker command. + +=== "Testnet" + + ```sh + docker run --platform=linux/amd64 \ + -p 7073:7073 \ + --entrypoint /guardiand ghcr.io/wormhole-foundation/guardiand:latest \ + spy \ + --nodeKey /node.key \ + --spyRPC "[::]:7073" \ + --env testnet + ``` + Optionally, add the flags to skip any VAAs with invalid signatures + ```sh + --ethRPC https://sepolia.drpc.org/ + --ethContract 0x4a8bc80Ed5a4067f1CCf107057b8270E0cC11A78 + ``` + +=== "Mainnet" + + ```sh + docker run --platform=linux/amd64 \ + -p 7073:7073 \ + --entrypoint /guardiand ghcr.io/wormhole-foundation/guardiand:latest \ + spy \ + --nodeKey /node.key \ + --spyRPC "[::]:7073" \ + --env mainnet + ``` + Optionally, add the flags to skip any VAAs with invalid signatures + ```sh + --ethRPC https://eth.drpc.org + --ethContract 0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B + ``` + +Once running, a [gRPC](https://grpc.io/){target=\_blank} client (i.e. your program) can subscribe to a filtered stream of messages. + +To generate a client for the gRPC service use [this proto spec file](https://github.com/wormhole-foundation/wormhole/blob/main/proto/spy/v1/spy.proto){target=\_blank}. + +!!! note + If using JavaScript/TypeScript, the [Spydk](https://www.npmjs.com/package/@certusone/wormhole-spydk){target=\_blank} makes setting up a client easier. + +## See Also + +The [Pyth Beacon](https://github.com/pyth-network/beacon){target=\_blank} provides an alternate Spy implementation that is highly available for improved performance and reliability. + +The [relayer engine](https://github.com/wormhole-foundation/relayer-engine){target=\_blank} implements a client and persistence layer for messages received from a Spy subscription. \ No newline at end of file From 875b4b1ad4a8dcd72db02d1e198b5dae7dcd65c1 Mon Sep 17 00:00:00 2001 From: Ilaria Enache Date: Tue, 30 Jul 2024 10:40:10 +0200 Subject: [PATCH 04/23] minor fix --- learn/infrastructure/spy.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 67e172c3..097cd99a 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -3,15 +3,6 @@ title: SPY description: --- - - # SPY In the wormhole context, a _spy_ is a daemon that subscribes to the gossiped messages in the Guardian Network. From 12186facfc86545eb85d9469f9b5bccc24e6b4f0 Mon Sep 17 00:00:00 2001 From: Ilaria Enache Date: Tue, 30 Jul 2024 10:44:56 +0200 Subject: [PATCH 05/23] added meta description --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 097cd99a..38013393 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -1,6 +1,6 @@ --- title: SPY -description: +description: Learn about Wormhole's SPY daemon, a tool for subscribing to gossiped messages in the Guardian Network, including VAAs and Observations, with setup instructions. --- # SPY From c1afba69e3bb8e7c32d00ec4b18f0b638a630cad Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Tue, 30 Jul 2024 19:09:57 +0200 Subject: [PATCH 06/23] Update learn/infrastructure/spy.md Co-authored-by: Dawn Kelly <83190195+dawnkelly09@users.noreply.github.com> --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 38013393..960e6461 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -7,7 +7,7 @@ description: Learn about Wormhole's SPY daemon, a tool for subscribing to gossip In the wormhole context, a _spy_ is a daemon that subscribes to the gossiped messages in the Guardian Network. -The messages available over gossip are things like +The messages available over gossip are things like: - [VAAs](#){target=\_blank} - [Observations](#){target=\_blank} From 1f95ac820ad57188f3ede91327d448f5caf3e81f Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Tue, 30 Jul 2024 19:10:06 +0200 Subject: [PATCH 07/23] Update learn/infrastructure/spy.md Co-authored-by: Dawn Kelly <83190195+dawnkelly09@users.noreply.github.com> --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 960e6461..ed76cbd6 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -20,7 +20,7 @@ The source for the Spy is available on [Github](https://github.com/wormhole-foun ## Use -To start a Spy locally, run the following docker command. +To start a Spy locally, run the following Docker command: === "Testnet" From 912315d7a1ed99162409fddb8fef787177c626f1 Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Tue, 30 Jul 2024 19:10:24 +0200 Subject: [PATCH 08/23] Update learn/infrastructure/spy.md Co-authored-by: Dawn Kelly <83190195+dawnkelly09@users.noreply.github.com> --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index ed76cbd6..4fa5722f 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -13,7 +13,7 @@ The messages available over gossip are things like: - [Observations](#){target=\_blank} - Guardian Heartbeats -The source for the Spy is available on [Github](https://github.com/wormhole-foundation/wormhole/blob/main/node/cmd/spy/spy.go){target=\_blank} +The source code for the Spy is available on [Github](https://github.com/wormhole-foundation/wormhole/blob/main/node/cmd/spy/spy.go){target=\_blank} !!! note The Spy has no persistence layer built in, so typically, it is paired with something like Redis or an SQL database to record relevant messages From de6c4bb512c2579fa2beb6fb3eeca6076942b325 Mon Sep 17 00:00:00 2001 From: Ilaria Enache Date: Tue, 30 Jul 2024 19:13:38 +0200 Subject: [PATCH 09/23] shortened meta description --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 4fa5722f..336ca901 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -1,6 +1,6 @@ --- title: SPY -description: Learn about Wormhole's SPY daemon, a tool for subscribing to gossiped messages in the Guardian Network, including VAAs and Observations, with setup instructions. +description: Discover Wormhole's SPY daemon, which subscribes to gossiped messages in the Guardian Network, including VAAs and Observations, with setup instructions. --- # SPY From 1832a0a8d07db661e95ea772c78a57d09955d7fc Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Wed, 31 Jul 2024 15:49:48 +0200 Subject: [PATCH 10/23] Update learn/infrastructure/.pages Co-authored-by: Erin Shaben --- learn/infrastructure/.pages | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/.pages b/learn/infrastructure/.pages index da685165..e353687b 100644 --- a/learn/infrastructure/.pages +++ b/learn/infrastructure/.pages @@ -3,4 +3,4 @@ nav: - index.md - 'VAAs': 'vaas.md' - 'Guardians': 'guardians.md' - - 'SPY': 'spy.md' + - 'Spies': 'spy.md' From c00a7912fbbb92c705f7b65501b0d245447978a1 Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Wed, 31 Jul 2024 15:49:57 +0200 Subject: [PATCH 11/23] Update learn/infrastructure/spy.md Co-authored-by: Erin Shaben --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 336ca901..391a635a 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -1,5 +1,5 @@ --- -title: SPY +title: Spies description: Discover Wormhole's SPY daemon, which subscribes to gossiped messages in the Guardian Network, including VAAs and Observations, with setup instructions. --- From b0aadce025a59765b79237e93c68ac06e98a8016 Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Wed, 31 Jul 2024 15:50:28 +0200 Subject: [PATCH 12/23] Update learn/infrastructure/spy.md Co-authored-by: Erin Shaben --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 391a635a..a7b77063 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -5,7 +5,7 @@ description: Discover Wormhole's SPY daemon, which subscribes to gossiped messag # SPY -In the wormhole context, a _spy_ is a daemon that subscribes to the gossiped messages in the Guardian Network. +In the Wormhole context, a _spy_ is a daemon that subscribes to the gossiped messages in the Guardian Network. The messages available over gossip are things like: From a814dd135f53d3b446ebdc2f42aa30d0680566e4 Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Wed, 31 Jul 2024 15:50:35 +0200 Subject: [PATCH 13/23] Update learn/infrastructure/spy.md Co-authored-by: Erin Shaben --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index a7b77063..2149b464 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -11,7 +11,7 @@ The messages available over gossip are things like: - [VAAs](#){target=\_blank} - [Observations](#){target=\_blank} -- Guardian Heartbeats +- Guardian heartbeats The source code for the Spy is available on [Github](https://github.com/wormhole-foundation/wormhole/blob/main/node/cmd/spy/spy.go){target=\_blank} From 2837d49a9b5cb62eed7fbe45c9086e60337759ee Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Wed, 31 Jul 2024 15:50:52 +0200 Subject: [PATCH 14/23] Update learn/infrastructure/spy.md Co-authored-by: Erin Shaben --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 2149b464..1020d983 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -18,7 +18,7 @@ The source code for the Spy is available on [Github](https://github.com/wormhole !!! note The Spy has no persistence layer built in, so typically, it is paired with something like Redis or an SQL database to record relevant messages -## Use +## How to Start a Spy To start a Spy locally, run the following Docker command: From 10f1519968c02c40a28395eebae1ba2838bf42db Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Wed, 31 Jul 2024 15:51:02 +0200 Subject: [PATCH 15/23] Update learn/infrastructure/spy.md Co-authored-by: Erin Shaben --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 1020d983..52f48709 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -56,7 +56,7 @@ To start a Spy locally, run the following Docker command: --ethContract 0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B ``` -Once running, a [gRPC](https://grpc.io/){target=\_blank} client (i.e. your program) can subscribe to a filtered stream of messages. +Once running, a [gRPC](https://grpc.io/){target=\_blank} client (i.e., your program) can subscribe to a filtered stream of messages. To generate a client for the gRPC service use [this proto spec file](https://github.com/wormhole-foundation/wormhole/blob/main/proto/spy/v1/spy.proto){target=\_blank}. From 90c6489069ecd299760766bed2eed181e2d95791 Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Wed, 31 Jul 2024 15:51:11 +0200 Subject: [PATCH 16/23] Update learn/infrastructure/spy.md Co-authored-by: Erin Shaben --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 52f48709..6ba5c397 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -33,7 +33,7 @@ To start a Spy locally, run the following Docker command: --spyRPC "[::]:7073" \ --env testnet ``` - Optionally, add the flags to skip any VAAs with invalid signatures + Optionally, add the following flags to skip any VAAs with invalid signatures: ```sh --ethRPC https://sepolia.drpc.org/ --ethContract 0x4a8bc80Ed5a4067f1CCf107057b8270E0cC11A78 From 655cea3614f61b45cc507c5865b2c9d4fefe02f4 Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Wed, 31 Jul 2024 15:51:26 +0200 Subject: [PATCH 17/23] Update learn/infrastructure/spy.md Co-authored-by: Erin Shaben --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 6ba5c397..5116228c 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -50,7 +50,7 @@ To start a Spy locally, run the following Docker command: --spyRPC "[::]:7073" \ --env mainnet ``` - Optionally, add the flags to skip any VAAs with invalid signatures + Optionally, add the following flags to skip any VAAs with invalid signatures: ```sh --ethRPC https://eth.drpc.org --ethContract 0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B From fc05caccb495e992302ee0ff1276594692f88ad2 Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Wed, 31 Jul 2024 21:01:48 +0200 Subject: [PATCH 18/23] Update learn/infrastructure/spy.md Co-authored-by: Erin Shaben --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 5116228c..08949d55 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -16,7 +16,7 @@ The messages available over gossip are things like: The source code for the Spy is available on [Github](https://github.com/wormhole-foundation/wormhole/blob/main/node/cmd/spy/spy.go){target=\_blank} !!! note - The Spy has no persistence layer built in, so typically, it is paired with something like Redis or an SQL database to record relevant messages + The Spy has no persistence layer built in, so typically, it is paired with something like Redis or an SQL database to record relevant messages. ## How to Start a Spy From ee72ebc12baa2a030b24164833b54a31814e6c6e Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Wed, 31 Jul 2024 21:01:57 +0200 Subject: [PATCH 19/23] Update learn/infrastructure/spy.md Co-authored-by: Erin Shaben --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 08949d55..9b27a091 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -13,7 +13,7 @@ The messages available over gossip are things like: - [Observations](#){target=\_blank} - Guardian heartbeats -The source code for the Spy is available on [Github](https://github.com/wormhole-foundation/wormhole/blob/main/node/cmd/spy/spy.go){target=\_blank} +The source code for the Spy is available on [GitHub](https://github.com/wormhole-foundation/wormhole/blob/main/node/cmd/spy/spy.go){target=\_blank}. !!! note The Spy has no persistence layer built in, so typically, it is paired with something like Redis or an SQL database to record relevant messages. From a073a2ef638d23513a0ef2c1320cd3c84d16bf6e Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Wed, 31 Jul 2024 21:02:04 +0200 Subject: [PATCH 20/23] Update learn/infrastructure/spy.md Co-authored-by: Erin Shaben --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 9b27a091..5b1fd451 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -3,7 +3,7 @@ title: Spies description: Discover Wormhole's SPY daemon, which subscribes to gossiped messages in the Guardian Network, including VAAs and Observations, with setup instructions. --- -# SPY +# Spy In the Wormhole context, a _spy_ is a daemon that subscribes to the gossiped messages in the Guardian Network. From 53186b275759b2494a92d25ef391a287963dff1a Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Wed, 31 Jul 2024 21:02:12 +0200 Subject: [PATCH 21/23] Update learn/infrastructure/spy.md Co-authored-by: Erin Shaben --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 5b1fd451..89d9e7bf 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -1,5 +1,5 @@ --- -title: Spies +title: Spy description: Discover Wormhole's SPY daemon, which subscribes to gossiped messages in the Guardian Network, including VAAs and Observations, with setup instructions. --- From 6048e06928acf5fefe020a21eb84b6d1b018ba6c Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Wed, 31 Jul 2024 21:02:19 +0200 Subject: [PATCH 22/23] Update learn/infrastructure/spy.md Co-authored-by: Erin Shaben --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index 89d9e7bf..f940fb65 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -1,6 +1,6 @@ --- title: Spy -description: Discover Wormhole's SPY daemon, which subscribes to gossiped messages in the Guardian Network, including VAAs and Observations, with setup instructions. +description: Discover Wormhole's Spy daemon, which subscribes to gossiped messages in the Guardian Network, including VAAs and Observations, with setup instructions. --- # Spy From d54e796e340a12a1508537ec8e7413ed61101e16 Mon Sep 17 00:00:00 2001 From: Ilaria <43253244+ilariae@users.noreply.github.com> Date: Wed, 31 Jul 2024 21:02:24 +0200 Subject: [PATCH 23/23] Update learn/infrastructure/spy.md Co-authored-by: Erin Shaben --- learn/infrastructure/spy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learn/infrastructure/spy.md b/learn/infrastructure/spy.md index f940fb65..51a027d1 100644 --- a/learn/infrastructure/spy.md +++ b/learn/infrastructure/spy.md @@ -5,7 +5,7 @@ description: Discover Wormhole's Spy daemon, which subscribes to gossiped messag # Spy -In the Wormhole context, a _spy_ is a daemon that subscribes to the gossiped messages in the Guardian Network. +In the Wormhole context, a _Spy_ is a daemon that subscribes to the gossiped messages in the Guardian Network. The messages available over gossip are things like: