A WebAssembly Virtual Machine, running on Mercury Cloud.
When you upload a Zephyr program, you upload it to Mercury's cloud. This enables you to focus on writing your processing logic rather than focusing on running server instances.
Zephyr is a WebAssembly Virtual Machine, so any language that can compile to WASM can be used for writing a Zephyr program. We currently support a rust SDK, but are planning to integrate more languages in the future.
Unleash full customizability by writing a Zephyr program as if you were writing the ledger meta processing code of your own ingestor. The only diffrerence is that we empower you to do so without having to run anything on you own, you can imagine this as writing and deploying a smart contract without having to run a core node.
What's Possible with Zephyr?
Through the Zephyr integration, you can write code that does whatever you want with the Network's data, can write and read from Mercury's database, and has even bindings for external communications. This allows you to write and deploy apps such as, for example:
How do I work and integract with the Zephyr + Mercury integration?
1. Write the Program
Using the Zephyr SDK, you'll be able to write a program with handles to the database, ledger data, and external communications. This is the core of your custom data logic, where you decide which data to store for every ledger, how to process it where and how to store it in Mercury's database.
2. Compile and Deploy
After writing the code, you compile it to WebAssembly and deploy it to Mercury through the Zephyr CLI. The CLI will enable you to manage your Zephyr activity.
3. Start Querying
Your program is now already executing on Mercury's cloud execution environment and is being run for every new ledger close. Assuming your program writes data (for example results of aggregations) to the database, you can now query such data directly from Mercury's GraphQL API. And don't worry, we've got access control covered for you.