WENBlocks
  • Getting Started
    • Overview
      • Technical Architecture
    • Key Features
  • Staking
    • Overview
    • Creating a Stake
    • Withdrawing the Stake
    • Claiming Rewards
  • Liquidity Program
    • How It Works
  • WNT
    • WNT — The Engine of the WEN Ecosystem
  • Airdrops
    • Airdrop Schedule
    • Server Management
    • Penalty Structure
    • How It Works
    • Example
  • Smart Contracts
  • Security
    • Overview
    • Internal Audits
    • External Audits
    • AI Audits
      • Grok
  • CODE
    • WENBlocksManager.sol
    • wnmContract.sol
    • wblkToken.sol
    • wuniContract.sol
    • wntToken.sol
    • syncnode.py
    • airdropGenerator.js
    • dayTrigger.js
  • Conclusion
    • Conclusion
  • Socials
    • Links
Powered by GitBook
On this page
  1. Airdrops

Airdrop Schedule

PreviousWNT — The Engine of the WEN EcosystemNextServer Management

Last updated 1 month ago

The WENBlocks airdrop system is designed to reward XENBlocks miners on a regular basis through Merkle tree-based distribution. Airdrops will be available weekly on the same day of the week at 00:00 UTC. The airdrop schedule is implemented as follows:

function createAirdrop(bytes32 _merkleRoot, uint256 totalWNM, uint256 totalWBLK, uint256 totalWUNI) external onlyServer {
    require(_merkleRoot != bytes32(0), "Invalid Merkle Root");
    uint256 _currentDay = wnmContract.getCurrentDay();
    currentWeek++;
    
    airdrops[currentWeek] = Airdrop({
        merkleRoot: _merkleRoot,
        startDay: _currentDay,
        unclaimedWNM: totalWNM,
        unclaimedWBLK: totalWBLK,
        unclaimedWUNI: totalWUNI
    });
    
    emit AirdropCreated(currentWeek, _merkleRoot, _currentDay);
}
  1. Initial Airdrop: The first airdrop occurs at the launch of WENBlocks (Week 1). It distributes WNM, WBLK, and WUNI tokens to users based on their activity and holdings in the XENBlocks ecosystem.

  2. Subsequent Weekly Airdrops: After the initial airdrop, new airdrops are created every 7 days (weekly). Each airdrop is assigned a sequential week ID, with a unique Merkle root and token allocation amounts.

def validate(): 
    conn = sqlite3.connect('blockchain.db')
    c = conn.cursor()
    c.execute('SELECT id, id, block_hash FROM blockchain order by id desc limit 1')
    row = c.fetchone()
    if row:
        total_count, last_block_id, last_block_hash = row
        validation_data = {
            "total_count": total_count,
            "my_ethereum_address": my_ethereum_address,
            "last_block_id": last_block_id,
            "last_block_hash": last_block_hash
        }
        print (validation_data)
        requests.post("http://xenblocks.io/validate", json=validation_data)
    conn.close()
def verify_block_hashes():
    conn = sqlite3.connect('blockchain.db')
    c = conn.cursor()
    c.execute('SELECT id, timestamp, prev_hash, merkle_root, block_hash, records_json FROM blockchain ORDER BY id')
    
    prev_hash = 'genesis'  # Initialize with genesis hash
    for row in c.fetchall():
        # Verification logic for block hash and Merkle root...
        if verified_hashes:
            computed_merkle_root, _ = build_merkle_tree(verified_hashes)
            if computed_merkle_root != merkle_root:
                print(f"Block {id} is invalid. Computed Merkle root doesn't match the stored Merkle root.")
                return False
            else:
                print (f"Block {id} is valid. Computed Merkle root match the stored Merkle root.")
    
    print("All blocks are valid.")
    return True

All airdrop allocations are made publicly available and can be verified against the official leaderboards on xenblocks.io and xen.pub websites. The Merkle tree structure allows users to independently verify their inclusion in each airdrop.

This comprehensive verification system ensures that airdrops in the WENBlocks ecosystem are fair, transparent, and aligned with users' contributions to the XENBlocks network. By matching airdrop data with official leaderboards and employing cryptographic verification through Merkle trees, the system maintains integrity while efficiently distributing rewards on a weekly basis.

The airdrop schedule is fully automated, with new distributions occurring every 7 days, following the same rigorous verification procedures to maintain consistency and fairness throughout the ecosystem's growth. Make sure to claim your airdrop within 7 days of its initiation to avoid any penalties.

Data Verification Process: The WENBlocks team runs the official script from XENBlocks on secure, dedicated servers to fetch and verify all participant addresses and their respective airdrop amounts. This process ensures data integrity through verification of block hashes and Markle Roots.

syncnode.py