Tutorial: Launch Your Own App-Specific Oracle with Gora Network

Gora Network
6 min readNov 22, 2024

--

The process of deploying your app-specific oracle using Gora

Gora Network is a protocol that allows you to create your own App-Specific Oracle — a decentralized oracle tailored to your project’s specific needs. Whether you’re an entrepreneur looking to monetize your infrastructure, or a developer aiming to enhance your L1, L2 blockchain & dApp’s functionality, launching a custom oracle can unlock new possibilities.

In this blog post, we’ll guide you through the process of deploying your own app-specific oracle using Gora, using a weather oracle as an example. We’ll cover the essentials to get you started, from creating a token to setting up the network, and show you how Gora makes this process accessible and efficient. To launch a real network, contact us at communications@gora.io

Why Create an App-Specific Oracle?

App-specific oracles offer several advantages:

By deploying your own oracle, you gain control over the data flow into your smart contracts, enhancing both functionality and trustworthiness.

Getting Started with Gora

Launching an Gora App-Specific Oracle involves four main steps:

We’ll walk through each step, providing enough technical insight to get you started, while keeping things accessible.

1. Create a Token

Every oracle on the Gora network uses a token for staking and incentivizing node operators. Here’s how to create one:

1.1 Define Your Token

If you are using an existing token, such as your chain’s native token (e.g. ETH), skip this step.

  • Token Name: Choose a name that represents your project.
  • Symbol: A short identifier (e.g., “WTHR” for a weather oracle).
  • Decimals: Usually set to 18 for compatibility.

1.2 Deploy the Token Smart Contract

You can deploy an ERC-20 token on Ethereum or compatible networks:

  • Use tools like Remix IDE or Truffle Suite.
  • Compile and deploy your token smart contract.
  • Note: Keep the token contract address for later steps.

2. Deploy the Oracle Smart Contract

With your token ready, you can deploy the oracle contract using Gora’s Oracle Factory.

2.1 Gather Required Parameters

{
“$schema”: “https://json-schema.org/draft/2020-12/schema",
“type”: “object”,
“properties”: {
“current”: {
“type”: “object”,
“properties”: {
“temperature_2m”: { “type”: “number” }
},
“required”: [“temperature_2m”]
}
},
“required”: [“current”]
}
  • Store the schema on an accessible platform like IPFS or GitHub Gist.
  • Token Address: The address of the token you created.

2.2 Deploy the Oracle Contract

Choose one of the following methods:

Option A: Using a Block Explorer

  • Access the Oracle Factory Contract: Find it on a block explorer like Etherscan.
  • Call the `createOracle` Function: Input the parameters gathered.
  • Submit the Transaction: Confirm and send from your wallet.

Option B: Using a GitHub Script

  • Clone Gora’s Repository: Access the scripts provided.
  • Configure the Script: Input your parameters.
  • Run the Script: Execute to deploy the contract.

Option C: Using Gora UI (Coming Soon)

  • Access Gora’s User Interface: Follow the deployment wizard.
  • Input Parameters: Enter the data feed URL, schema URL, and token address.
  • Deploy: Complete the process through the UI prompts.
  • Note: This feature is in the works — and will be available soon!

3. Activate Your Oracle

After deployment, activation involves integrating with your dApp, staking tokens, and connecting node operators.

3.1 dApp Integration:

  • Update Smart Contracts: Use the deployed oracle’s address in your dApp.
  • Note: The oracle won’t respond to requests until the node network is fully activated.

3.2 Token Staking and Delegation

Note: You will need to have the network in step 4 setup to do this

  • Stake Tokens: Deposit tokens into the oracle contract.
  • Delegate Tokens: Assign staked tokens to preferred node operators.
  • Purpose: Incentivizes nodes to service your oracle.

3.3 Node Operator Connection

  • Node Visibility: Operators can see delegated tokens via the node portal.
  • Opt-In Procedure: Nodes choose to support your oracle, confirming legitimacy.
  • Decentralization: Each operator independently selects oracles to work with.

3.4 Oracle Activation

Your oracle becomes active when:

  • Minimum Node Requirement: The required number of nodes are connected.
  • Voting Power: Achieving the necessary staked token threshold.

Once active, your oracle will process requests from your dApp, delivering reliable data as per your specifications.

4. Setting Up the Gora Node Network

To ensure your oracle functions properly, a network of Gora nodes must be operational. Once the smart contracts are set up, it’s time to launch the node network.

4.1 Understanding Gora Nodes

  • Gora Node Runner (GNR): Software that node operators run.
  • Decentralization: Nodes work independently, enhancing security.
  • Consensus Verification: Nodes collectively verify data.

4.2 Node Operator Prerequisites

  • Technical Skills: Comfort with command-line tools and Linux OS.
  • Infrastructure: A Linux host with Docker installed or an AWS account.
  • Blockchain Access: Live API nodes for supported blockchain networks.
  • Blockchain Accounts: Funded accounts with connected wallets for staking.

4.3 Installing Gora Node Runner

Step 1: Install Required Software

  • Docker Engine: For local nodes.
  • AWS CLI: If using AWS.
  • Gora CLI Tool:
bash
wget https://download.gora.io/latest-release/linux/gora -O gora
chmod u+x ./gora

Step 2: Initialize Installation

  • Run the initialization process:
bash
./gora init

During the initialization process, you must enter the token address (or native token’s chain ID and symbol) and smart contract addresses to correctly configure this section.

  • Process: Creates participation accounts, links wallets, and configures settings.
  • Security Note: Do not run Gora software as the root user.

Step 3: Start Your Gora Node

  • Locally:
bash
./gora docker-start
  • On AWS (Experimental):
bash
export GORA_EXPERIMENTAL_MODE=1
./gora aws-start
  • Monitoring: Check status and logs using Gora CLI commands.

Step 4: Stop Your Gora Node

  • Locally:
Foreground: Press `Ctrl-C`.
Background: Run `./gora docker-stop`.
  • On AWS:
bash
./gora aws-stop

Why Entrepreneurs Should Consider Launching Their Own Oracle

Creating an app-specific oracle opens up opportunities for innovation and differentiation:

By taking control of the data that powers your dApp, you can ensure its reliability, security, and relevance.

Ready to Launch Your Own Oracle?

At Gora, we’re passionate about empowering entrepreneurs and developers to unlock the full potential of their blockchain projects. If you’re interested in deploying your own app-specific oracle but need guidance or support, we’re here to help.

Contact us or join our community channels on Discord and Telegram, today to explore how Gora can assist you in bringing your vision to life. Our team can provide:

Launching your own app-specific oracle using Gora is a strategic move that can elevate your dApp’s capabilities and set you apart in the blockchain space. By following the steps outlined in this guide, you can take the first steps toward greater control, customization, and innovation.

Don’t let generic data hold back your project’s potential. Embrace the power of custom oracles and transform the way your dApp interacts with the world.

Empower your project with the data it deserves. Launch your own app-specific oracle with Gora today.

About Gora Network

Gora Network is a pioneering protocol that provides decentralized, secure, and customizable blockchain oracle solutions. By enabling users to create their own app-specific oracles, Gora bridges the gap between blockchain technology and real-world data, fostering innovation across industries.

Ready to start your journey with Gora?
Contact us at communications@gora.io or visit our website www.gora.io to book a demo or to learn more.

--

--

Gora Network
Gora Network

Written by Gora Network

Gora redefines blockchain data with App-Specific Blockchain Oracles, offering tailored solutions for any project. Empower your L1-L2 chain. Visit www.gora.io

No responses yet