WorkToken

Introduction

Welcome to WorkToken, the innovative digital currency designed to transform how labor is compensated across various industries. The WorkToken project features two primary tokens, WorkTH and WorkTHR, both aimed at simplifying and standardizing the compensation process by representing the value of 1 hour of work.

WorkTH is deployed on the MintMe blockchain, whereas WorkTHR is deployed on the Binance Smart Chain (BSC) as a BEP-20 token. Despite being on different blockchains, both tokens share the same goal: fostering fair, transparent, and secure transactions between employers and employees, as well as service providers and clients.

Mission

At WorkToken, our mission is to create a universal standard for labor compensation using cutting-edge blockchain technology. By ensuring that 1 WorkToken, whether WorkTH or WorkTHR, always equals 1 hour of work, we aim to reduce payment disputes and streamline the compensation process, promoting a more equitable and transparent global economy.

Core Features

Usage Scenarios

Technical Implementation

WorkTH (MintMe Blockchain)

WorkTH is deployed on the MintMe blockchain. It adheres to the MRC20 standard, ensuring compatibility with MintMe wallets and exchanges. The token has 18 decimal places and a total supply of 999,999,999 WorkTH.

WorkTH ABI


[
    {"constant":true,"inputs":[],"name":"getImplementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},
    {"inputs":[{"name":"impl","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},
    {"payable":true,"stateMutability":"payable","type":"fallback"}
]
            

Smart Contract Code for WorkTH


pragma solidity ^0.4.18;

contract EternalStorage {
    mapping(bytes32 => uint256) internal uintStorage;
    mapping(bytes32 => string) internal stringStorage;
    mapping(bytes32 => address) internal addressStorage;
    mapping(bytes32 => bytes) internal bytesStorage;
    mapping(bytes32 => bool) internal boolStorage;
    mapping(bytes32 => int256) internal intStorage;
}

contract UpgradeabilityStorage {
    string internal _version;
    address internal _implementation;

    function version() public view returns (string) {
        return _version;
    }

    function implementation() public view returns (address) {
        return _implementation;
    }
}

contract TokenImplAddress is EternalStorage, UpgradeabilityStorage {}

contract Proxy {
    TokenImplAddress implAddress;
    
    function getImplementation() public view returns (address) {
        return implAddress.implementation();
    }

    function () payable public {
        address _impl = getImplementation();
        require(_impl != address(0));

        assembly {
            let ptr := mload(0x40)
            calldatacopy(ptr, 0, calldatasize)
            let result := delegatecall(gas, _impl, ptr, calldatasize, 0, 0)
            let size := returndatasize
            returndatacopy(ptr, 0, size)

            switch result
            case 0 { revert(ptr, size) }
            default { return(ptr, size) }
        }
    }
}

library SafeMath {}

contract Token is EternalStorage, Proxy {
    using SafeMath for uint256;
 
    function Token(address impl) public {
        implAddress = TokenImplAddress(impl);
        addressStorage[keccak256("owner")] = msg.sender;
    }
}
            

WorkTHR (Binance Smart Chain)

WorkTHR is a BEP-20 token on the Binance Smart Chain (BSC). It adheres to BEP-20 standards, ensuring compatibility with existing wallets, exchanges, and decentralized applications (DApps). The token has 18 decimal places and a total supply of 999,999,999 WorkTHR.

WorkTHR ABI


[
    {"inputs":[],"stateMutability":"nonpayable","type":"constructor"},
    {"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},
    {"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},
    {"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"delegate","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},
    {"inputs":[{"internalType":"address","name":"delegate","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},
    {"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},
    {"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},
    {"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},
    {"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},
    {"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},
    {"inputs":[],"name":"totalSupply_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},
    {"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},
    {"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"buyer","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}
]
            

Smart Contract Code for WorkTHR


/**
 *Submitted for verification at BscScan.com on 2024-06-20
*/

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract SalchainToken is IERC20 {
    using SafeMath for uint256;

    string  public  name;
    string  public  symbol;
    uint8   public  decimals;
    uint256 public  totalSupply_;

    mapping(address => uint256) balances;
    mapping(address => mapping (address => uint256)) allowed;

    constructor()  {
        name = "WorkTHR";
        symbol = "WorkTHR";
        decimals = 18;
        totalSupply_ = (999999999 * 10**18);
        balances[msg.sender] = totalSupply_;
    }

    function totalSupply() public override view returns (uint256) {
        return totalSupply_;
    }

    function balanceOf(address tokenOwner) public override view returns (uint256) {
        return balances[tokenOwner];
    }

    function transfer(address receiver, uint256 numTokens) public override returns (bool) {
        require(numTokens <= balances[msg.sender]);
        balances[msg.sender] = balances[msg.sender].sub(numTokens);
        balances[receiver] = balances[receiver].add(numTokens);
        emit Transfer(msg.sender, receiver, numTokens);
        return true;
    }

    function approve(address delegate, uint256 numTokens) public override returns (bool) {
        allowed[msg.sender][delegate] = numTokens;
        emit Approval(msg.sender, delegate, numTokens);
        return true;
    }

    function allowance(address owner, address delegate) public override view returns (uint) {
        return allowed[owner][delegate];
    }

    function transferFrom(address owner, address buyer, uint256 numTokens) public override returns (bool) {
        require(numTokens <= balances[owner]);
        require(numTokens <= allowed[owner][msg.sender]);

        balances[owner] = balances[owner].sub(numTokens);
        allowed[owner][msg.sender] = allowed[owner][msg.sender].sub(numTokens);
        balances[buyer] = balances[buyer].add(numTokens);
        emit Transfer(owner, buyer, numTokens);
        return true;
    }
}

library SafeMath {
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
      assert(b <= a);
      return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
      uint256 c = a + b;
      assert(c >= a);
      return c;
    }
}
            

Explorer Links

Buy WorkTH

You can buy WorkTH on the MintMe platform. Click the link below to start trading:

Contact Information

If you have any questions or would like to get in touch, please contact us at: