Steer Apps
An app is a collection of instructions for running a system on chain. Apps can be omnichain, use any available data, and can build on web3 protocols. The off-chain logic of the app is stored in bundles, which manage the data pipeline and then the execution logic which determines the actions to be taken on chain. Any on-chain logic part of an app is referred to as an App engine. These app engines can be generic for lower level systems built on contract calls, or complex contracts with asset management features, supported interfaces, and more.
WebAssembly Integration
Steer leverages WebAssembly (WASM) code bundles with defined interfaces for execution by nodes. This integration is a game-changer, as it enables developers to use a wide range of programming languages to write their logic, which can then be compiled into WASM. This flexibility empowers developers to work in their preferred languages such as Typescript (AssemblyScript), Python, Rust, etc while still benefiting from the efficiency and security of WebAssembly.
The use of WebAssembly brings several key benefits to Steer's users. It's designed for efficiency and speed, utilizing a size- and load-time-efficient binary format. WebAssembly aims to execute at native speed by taking advantage of common hardware capabilities available across various platforms. This ensures that computations are not only possible but also performant.
Moreover, WebAssembly provides a safe execution environment. It describes a memory-safe, sandboxed execution environment that can be implemented inside existing JavaScript virtual machines. When embedded in web contexts, WebAssembly enforces the same-origin and permissions security policies of the browser, ensuring that computations remain secure and isolated.
You can view all 40+ possible languages and their levels of support here: Steer Protocol Language Support
What can I build?
Apps can range from complex concentrated liquidity market makers to simple oracles. The Steer Protocol is designed to be a flexible and extensible platform for building new types of applications through its off-chain infrastructure.
The Steer Protocol also provides an open data connector marketplace which provides developers with the ability to build their own data connectors and integrate them with the Apps on Steer Protocol itself.
The possibilities are endless... We are excited to see what the community builds!
What apps are already built on Steer Protocol?
- Automated liqudity management
- On-chain Reward Distribution
- Liquidity Bond
- Staking
- Smart Contract Automation
- Liquidity Kit
Can I use on-chain data?
Yes. Apps can also query TheGraph as well as access on-chain view functions to retrieve data. This enables developers to pass messages from on-chain to the app execution process. This enables more dynamic app parameters and also potentially gives governance (or other sources) control over the parameters of a given app.
How are apps executed?
Apps are executed in an isolated sandboxed environment under each nodes inside the Steer cloud.
When executed, apps do not have access to the internet. All external data is managed through a sub-process within the cloud and provided to the app prior to execution.
All apps also have an imposed minimum threshold for votes for consensus inside the steer network. Thus, if there are bad actors within the network, built-in anomaly detection will discard their data. The output of each app is then passed to a special node called a keeper to find consensus and do on-chain execution.