Fireway is a cross-chain data oracle micro framework connecting real-world data and APIs to smart contracts
Fireway is a HackEFVM 2022 project inspired by the lack of offchain integration platforms and tooling outside the top 5 EVM networks, which is almost non existent.
Fireway greatly expands the capabilities of smart contracts by enabling access to real-world data and off-chain computation with a minimalistic yet scalable approach that any developer or team can launch quickly.
Connect To Any API. Retrieve data from any API, connect with existing systems, and integrate with any current or future blockchain.
Framework Approach. Fireway approaches the oracle problem as a framework that others can extend to adapt to their needs.
EVM Compatible. Add offchain computing capabilities to any EVM compatible network and smart contract, including of course FEVM.
Minimalistic. The oracle contract is less than 10 lines of code, yet it offers the flexibility to invoke any API.
Developer Friendly. Launch a dockerized worker you control or integrate with an existing oracle instance.
Open Source. Free to use, extend and collaborate. Checkout our Github and starting building.
A smart contract client invokes the oracle smart contract to emit an event with the request details. The worker filters oracle events and invokes the API call with the event parameters, sending the response back to the origin.
The Oracle Smart Contract is less than 10 lines of code and the workers are super lightweight as well. Anyone can launch and run their own instance or use an existing one run by another developer.
Launching a worker is as simple as running a Docker container. Fireway aims to simplify the process for developers for launching their own custom Oracle solutions.
Vist our repo https://github.com/gianksp/fireway
Technologies used:
They all share the monorepo with documentation on how to launch each.
A smart contract client invokes the oracle smart contract to emit an event with the request details. The NodeJS worker filters oracle events by polling every interval (5 sec) and invokes the API call (with axios) with the event parameters, sending the response back to the origin (using etherjs) and the relayer wallet (a wallet that has pre-funded FIL).
I decided to shy away from building with FEVM primitives since most of them were mocked according to the documentation. I decided to build something other builders could use to create value added solutions on FEVM and across.
It was exciting and learned a lof about FEVM.