🐶 Dogecoin Wrapper dApp 🌭

Wrap your DOGE into wDOGE tokens on Dogechain and interact with smart contracts!

1. Connect Your Wallet

Setup Instructions:

  1. Install MetaMask
  2. Add Dogechain Testnet:
    • Network Name: Dogechain Testnet
    • RPC URL: https://rpc-testnet.dogechain.dog
    • Chain ID: 568
    • Symbol: DOGE
    • Block Explorer: https://explorer-testnet.dogechain.dog
  3. Get test DOGE from the Dogechain faucet

2. Wrap DOGE to wDOGE

Wrap your DOGE into wDOGE (ERC-20 token) to use in smart contracts on Dogechain.

🐕

wDOGE Token

Contract: 0x... (will be displayed after wallet connection)

DOGE

3. Wrap DRC-20 Token

Create an EVM-compatible wrapper for your DRC-20 token on Dogechain.

Token Balance & Metadata Checker

Check the balance and metadata of any ERC-20 or DRC-20 wrapper token on Dogechain.

Token Distribution Visualization

Visual representation of token distribution for any ERC-20 or DRC-20 wrapper token.

Token Holders

Rank Address Balance Percentage
Page 1 of 1

3. Smart Contract Interaction

Below is a simple escrow contract that lets you deposit and withdraw wDOGE.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

interface IWDoge {
    function transfer(address recipient, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}

contract DogeEscrow {
    mapping(address => uint256) public balances;
    IWDoge public wDogeToken;
    
    constructor(address _wDogeAddress) {
        wDogeToken = IWDoge(_wDogeAddress);
    }
    
    function deposit(uint256 amount) external {
        require(wDogeToken.transferFrom(msg.sender, address(this), amount), "Transfer failed");
        balances[msg.sender] += amount;
    }
    
    function withdraw(uint256 amount) external {
        require(balances[msg.sender] >= amount, "Insufficient balance");
        balances[msg.sender] -= amount;
        require(wDogeToken.transfer(msg.sender, amount), "Transfer failed");
    }
    
    function getUserBalance(address user) external view returns (uint256) {
        return balances[user];
    }
}

Contract Address (after deployment):

wDOGE

DRC-20 Pseudo Contract Generator