Project Highlights
Orally Network is a comprehensive suite of decentralized oracle tools designed to empower blockchain ecosystems with real-time, secure, and efficient data delivery to smart contracts. Targeting developers and dApps across various sectors, Orally addresses critical needs for reliable data sourcing, automation, and cross-chain interoperability, thus resolving common pain points in oracle services.
Products Details
Features
- Custom Data Feeds: Create tailored data streams for any dApp’s unique requirements.
- Modular and Compositional Approach: Flexible integration of tools to suit diverse application needs.
- Decentralized Authentication (DAuth): Streamline user verification across platforms with verifiable credentials.
- On-chain Preprocessing: Apply data preprocessing before delivering your data to smart contract.
- Cross-Chain Functionality: Facilitate seamless data exchange and interoperability across blockchains.
- Embedded Randomness: Generate tamper-proof random numbers for dApps, enhancing fairness and security.
- ICP Integration: Utilizes Internet Computer’s advanced features like HTTP Outcalls, ECDSA threshold signatures, the heartbeat system, and the SIWE approach to authenticate users.
Usage Example
// Simple Raffle example of utilization randomness from automation tool Pythia
import {OrallyPythiaConsumer} from "../consumers/OrallyPythiaConsumer.sol";
contract RaffleExample is OrallyPythiaConsumer {
uint256 maxNumberOfTickets;
uint256 ticketPrice;
address[] entries;
constructor(
address _pythiaRegistry,
uint256 _maxNumberOfTickets,
uint256 _ticketPrice
) OrallyPythiaConsumer(_pythiaRegistry) {
maxNumberOfTickets = _maxNumberOfTickets;
ticketPrice = _ticketPrice;
}
function enterRaffle() external payable {
require(
entries.length < maxNumberOfTickets,
"RaffleExample: Raffle is full"
);
require(
msg.value == ticketPrice,
"RaffleExample: Ticket price is not correct"
);
entries.push(msg.sender);
}
function pickWinner(uint256 _randomNumber) external onlyExecutor {
require(
entries.length == maxNumberOfTickets,
"RaffleExample: Raffle is not full"
);
uint256 winnerIndex = _randomNumber % entries.length;
payable(entries[winnerIndex]).call{value: address(this).balance}("");
}
}
// Sample code to request data from Orally's Apollo service
import {OrallyApolloConsumer} from "../consumers/OrallyApolloConsumer.sol";
import {IApolloCoordinator} from "../interfaces/IApolloCoordinator.sol";
contract ApolloConsumerExample is OrallyApolloConsumer {
uint256 public rate;
uint256 public decimals;
uint256 public timestamp;
IApolloCoordinator public apollo;
constructor(address _executorsRegistry, address _apolloCoordinator) OrallyApolloConsumer(_executorsRegistry) {
apollo = IApolloCoordinator(_apolloCoordinator);
}
function requestValue() {
apollo.requestDataFeed("ICP/USD", 300000);
}
function fulfillDataFeed(string memory, uint256 _rate, uint256 _decimals, uint256 _timestamp) external onlyExecutor {
rate = _rate;
decimals = _decimals;
timestamp = _timestamp;
}
}
Documentation
For full usage guides, API references, and more examples, visit our documentation portal: Orally Network Documentation.
Dependencies
- HTTP Outcalls
- ECDSA threshold
- Exchange rate canister
- EVM rpc canister
- Heartbeat system
- Sing in with Ethereum
Resources
- App: Application
- GitHub: Orally Network GitHub
- Website: Orally Network Website
- Documentation: Official Documentation
- Twitter: @orally_network
- Products: Products Architecture
- Demo: Demo
Future Plans
Looking forward, Orally Network aims to expand its suite with more innovative tools, enhance cross-chain capabilities, and foster a vibrant developer community. We’re also exploring partnerships, and attending blockchain conferences.
Weather Prediction
Our recent participation in Dfinity’s Global R&D event was a landmark moment for Orally Network, where we demonstrated a dynamic showcase of our capabilities with a weather prediction model. Utilizing our Sybil and Pythia tools, we’ve successfully automated the delivery of custom data feeds to a smart contract on Arbitrum, enabling accurate weather predictions and winner determinations.
Watch our showcase demo here:
Building on this momentum, our immediate focus is on enriching our showcase product line. We’re expanding the prediction platform to encompass a broader spectrum of predictions (BTC price, randomness, US election), across various timeframes and blockchain networks (BSC, Base, zkSync, Scroll), offering unparalleled versatility and utility in predictive analytics on the blockchain.
Non-custodial DCA
In parallel, we’re excited to announce our upcoming product launch: a non-custodial Dollar-Cost Averaging (DCA) tool. This innovation will empower users to execute one of the safest investment strategies directly from their non-custodial wallets, following gasless, permissionless approaches. Our design team is putting the finishing touches on this product, ensuring it combines functionality with a seamless user experience. Stay tuned for more details on this groundbreaking tool and other future developments from Orally Network.
Stay tuned for our roadmap updates and new feature releases.