In the rapidly evolving blockchain ecosystem, the need for reliable access to external data and secure randomness is more critical than ever. Smart contracts, though powerful, are inherently isolated from the real world. This limitation creates challenges for decentralized applications (dApps) that require real-time information or randomness to function effectively.
Feæder is a decentralized oracle network built on the Æternity blockchain, designed to bridge this gap. By delivering real-world data and secure randomness to smart contracts, Feæder empowers developers to build robust, feature-rich, and trustless dApps. Whether it’s real-time token prices, sports scores, weather data, or fair randomness for gaming and governance.
Feæder offers a subscription system that simplifies the funding and management of multiple consuming contracts. Users can create a subscription account, fund it with Æternity's native token, and link multiple consuming contracts. When these contracts request data, the transaction costs are calculated after the requests are fulfilled, and the subscription balance is deducted accordingly. This centralized funding model ensures efficient resource allocation and streamlined operations for dApps needing frequent or large-scale data requests.
Data feeds provide decentralized applications (dApps) with reliable and real-time access to external information, bridging the gap between the blockchain and the real world. Feæder offers two types of data feeds, each serving distinct use cases:
Push-based feeds continuously update smart contracts with real-time data. This approach is ideal for scenarios requiring low-latency data delivery, such as:
-
Decentralized Finance (DeFi): Updating token prices for automated market makers (AMMs) or lending platforms.
-
Sports Applications: Delivering live scores or game stats for prediction markets and fantasy sports.
Feæder aggregates, verifies, and streams data directly to Æternity-based smart contracts, ensuring data consistency and accuracy.
Oracle-based feeds are more flexible and operate on a request-response model, enabling dApps to query specific data on demand. Feæder utilizes Æternity’s native oracle system, a unique feature that enhances efficiency and security by integrating oracle capabilities directly into the blockchain layer.
Use Cases for Oracle-Based Feeds:
- Weather Insurance: Querying weather data for automated claim settlements.
- Supply Chain: Accessing shipment tracking data for logistics dApps.
- Community Voting: Fetching poll results or proposals for on-chain governance.
Secure randomness is critical for applications like gaming, lotteries, and governance. Feæder integrates Drand (Distributed Randomness Beacon) to provide decentralized, tamper-proof randomness.
Drand is an open, distributed randomness beacon network that generates cryptographically secure random numbers. It is designed to be:
- Decentralized: Drand randomness is generated by a group of independent nodes in a distributed network, ensuring trustlessness.
- Verifiable: Generated randomness is publicly verifiable, enabling transparent use in dApps.
- Unbiased and Tamper-Proof: The randomness is immune to manipulation, ensuring fairness.
Use Cases:
- Gaming: Generating random outcomes for loot distributions or match-making systems.
- Lotteries: Securely drawing winners in a transparent manner.
- Governance: Random selection of participants for voting or committee roles.
Feæder is built with a robust and modern tech stack to ensure seamless performance and integration:
-
Frontend:
We used Vue.js to create an intuitive and user-friendly interface. This frontend allows developers integrating Feæder to:- Manage their subscriptions.
- Access detailed information about data aggregators.
- Explore the implementation of VRF (Verifiable Random Function).
-
Execution Backend Layer:
- NestJS: Powers the backend, featuring periodic workers for efficient task management using Redis Cache.
- Drand VRF Client: Integrated to generate decentralized, tamper-proof randomness for use cases like gaming, lotteries, and governance.
-
Light Client Backend:
Built with Elixir, this backend layer connects to the Æternity middleware via WebSocket. It listens for on-chain contract events and relays them to the execution backend for processing. -
Smart Contracts:
- Validating and storing data on-chain to ensure the integrity of data sourced from off-chain systems.
- Acting as a security layer between off-chain data providers and destination smart contracts, preventing tampering or unauthorized access during the data transmission process.
Enable smart contracts to interact seamlessly with off-chain data by sending requests to any REST API using GET or POST methods. These responses are then brought on-chain, empowering smart contracts with dynamic and real-world data integrations.