RelayAgere is a agere in the Alpha phase, and its main goal is to build an Oracle network to provide Oracle services to any blockchain. At present, this agere implements the Relay function of the GEB network, assisting GEB to implement the functions of Bitcoin light nodes.
Note: This is a simple agere for alpha launch. Any user can run this agere with minimal configuration requirements.
Core Responsibilities
- Evaluate GEB-related transactions submitted by executors
- Verify transaction compliance with GEB specifications
- Ensure successful transaction execution
Incentive Mechanism
- Rewards based on evaluation fairness
- Consensus-driven fairness guarantee
- Stake-based competition for top 64 positions
Core Responsibilities
- Identify and submit GEB-related Bitcoin transactions
- Manage gas fees for transaction priority
- Handle transaction failure risks
Incentive Mechanism
- Revenue based on successful transaction verification
- Strategic gas fee management
- First-come-first-served reward system
When executors A, B, and C submit identical transactions:
- Executor A: 0.01 GEB gas
- Executor B: 0.02 GEB gas
- Executor C: 0.015 GEB gas
→ Executor B wins, A and C lose gas fees
| Aspect | Auditor | Executor |
|---|---|---|
| Core Action | Transaction validation | Transaction submission |
| Revenue Model | Stable staking returns | Transaction-based rewards |
| Cost Type | Opportunity cost | Gas fee risk |
| Key Skills | Evaluation accuracy | Detection speed & gas strategy |
System: Ubuntu 22.04 LTS + Python: 3.10 +
Note: If you don't have Git installed on Ubuntu/Debian-based systems:
# If you are root
apt-get update && apt-get install git
# If you are a normal user
sudo apt-get update && sudo apt-get install gitgit clone https://github.com/GEBcore/RelayAgere.git && cd RelayAgere./install.shsource .venv/bin/activateRun the following command:
./wallet.sh <cold_wallet_name>You will be prompted to:
- Choose between creating a new wallet or importing an existing one
- If creating new: The script will generate new cold and hot keys
- If importing: Enter your existing 12-word mnemonic phrases for both cold and hot keys
Example output:
Please choose an option:
1. Create new wallet
2. Import existing wallet
Enter your choice (1 or 2):
Please deposit at least 10 tokens into your cold wallet to register and join the agere.
./register.sh <cold_wallet_name>Note: Before running the program, you need to deposit some tokens into your hot address as a transaction fee.
For signet test network:
./register.sh -n signet <cold_wallet_name>./get_balance.sh <cold_wallet_name>For signet test network:
./get_balance.sh -n signet <cold_wallet_name>To become a auditor, you need to:
- Stake enough tokens to your hot address
- Ensure your stake ranks in the top 64 in the agere
Stake your tokens:
./stake.sh add <cold_wallet_name>Run auditor:
./auditor.sh [-d] <cold_wallet_name>
Options:
-d Run in daemon mode (background)For signet test network:
./auditor.sh [-d] -n signet <cold_wallet_name>Before running an executor, configure your RPC settings based on your preferred type:
- Copy the example environment file:
cp .env.example .env- Edit .env file based on your RPC type:
- For
nodeRPC:- Set
BTC_RPC_USER - Set
BTC_RPC_PASSWORD - Set
BTC_RPC_ENDPOINT(ip:port)
- Set
- For
ankrRPC:- Set
ANKR_API_KEY
- Set
- For
mempoolRPC:- No configuration needed
./executor.sh [-d] [-t tip_value] [-r rpc_type] <cold_wallet_name>
Options:
-d Run in daemon mode (background)
-t value Specify tip value (default: 0)
-r type Bitcoin RPC type (node/mempool/ankr, default: mempool)Examples:
# Run with ankr RPC
./executor.sh -r ankr <cold_wallet_name>
# Run with node RPC and tips
./executor.sh -d -t 100 -r node <cold_wallet_name>
# Run on signet test network
./executor.sh -n signet <cold_wallet_name>To stop all running processes and update the code:
./close.shThis will:
- Stop all running auditor and executor processes
- Pull the latest code from the repository
After doing this, refer to the above documentation and rerun the auditor or executor.
This project is licensed under the MIT License - see the LICENSE file for details.
This project was originally forked from bittensor-subnet-template.