Introduction to Mercury's Cloud and the Zephyr Stack

Learn how the Zephyr stack works.

Note that this section is currently minimal and still a work in progress.

As mentioned in the quickstart, the Zephyr virtual machine powers the Mercury cloud execution environment. At its core, Zephyr is a WebAssembly VM like the Soroban VM, but with the focus on working with network data and interacting with databases. At the low level it is therefore structured as a messaging protocol between the guest and the host.

These "messages" are in fact database writes/reads envelopes and requesting ledger reads and web requests. All while the guest environment has the liberty of doing whatever logic is described in the program's code with the data it sends to and receives from the host environment.

The functions on which the guest relies upon to communicate with the host are the so-called host functions. Because working directly with these functions becomes low level and difficult, we have developed the zephyr-sdk crate. It currently exists only in rust, but if we see the potential for other SDKs to bring more value in the ecosystem zephyr programs could potentially be written in any language that compiles to WebAssembly.

Last updated