Blockwell

Measurable Data Token

ERC20

This contract is an ERC20 token.

Name Measurable Data Token
Symbol MDT
Decimals 18
Total Supply 1,000,000,000 MDT

About link description

Measurable Data Token (MDT) aims to provide a blockchain-based data economy, where data providers and data buyers can exchange data securely and anonymously. The MDT ecosystem now features two products with real use cases: MyMDT Data Wallet is a decentralized application based on Ethereum that allows users to get rewards for sharing anonymous data points. The application has been integrated with the following apps: MailTime, Magic Crystal, and Email Messenger. Measurable AI, MDT's data analytics branch, is an alternative data provider that turns anonymous transactional data into consumer insights serving financial institutions and corporates. The MDT token is an ERC-20 token, used as the medium of exchange for data product access and user reward programs. The MDT team are based in Hong Kong and have been working together for over 10 years. Their first project Talkbox started in 2010 was adapted into a TV show and novel called "Entrepreneurial Age". In their roadmap, the team will be focusing on connecting more users and data providers to expand the scenarios in the ecosystem. They are also working on more new applications on Ethereum featuring data rewards for individual users. Since the launch of MDT project in 2017, the team has been dedicated to make MDT the new standard for data sharing.

Stats

Public Functions 15
Event Types 5
Code Size 17,004 bytes

Library Use

Uses SafeMath for uint256.

Approval Event

Parameters help
_owner
address help
_spender
address help
_value
uint256 help

Burn Event

Parameters help
_burner
address help
_value
uint256 help

ERC677Transfer Event

Parameters help
_from
address help
_to
address help
_value
uint256 help
_data
bytes help

OwnershipTransferred Event

Parameters help
previousOwner
address help
newOwner
address help

Transfer Event

Parameters help
_from
address help
_to
address help
_value
uint256 help

Functions Expand All Collapse All

transferOwnership keyboard_arrow_up

Parameters help

Name Type
newOwner
address help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    owner = newOwner;
    OwnershipTransferred(owner, newOwner);
  }

balanceOf keyboard_arrow_up

Parameters help

Name Type
_owner
address help

Properties

Visibility help public
Mutability help constant
Source Code
    function balanceOf(address _owner) public constant returns (uint256 balance) {
        return balances[_owner];
    }

transfer keyboard_arrow_up

Parameters help

Name Type
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
    function transfer(address _to, uint256 _value)
        public
        validRecipient(_to)
        returns (bool)
    {
        return super.transfer(_to, _value);
    }

allowance keyboard_arrow_up

Parameters help

Name Type
_owner
address help
_spender
address help

Properties

Visibility help public
Mutability help constant
Source Code
    function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

transferFrom keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
    function transferFrom(address _from, address _to, uint256 _value)
        public
        validRecipient(_to)
        returns (bool)
    {
        return super.transferFrom(_from, _to, _value);
    }

approve keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

One or more of the following:
Source Code
    function approve(address _spender, uint256 _value)
        public
        validRecipient(_spender)
        returns (bool)
    {
        return super.approve(_spender, _value);
    }

transferAndCall keyboard_arrow_up

Parameters help

Name Type
_to
address help
_value
uint256 help
_data
bytes help

Properties

Visibility help public
Mutability help transaction
Source Code
    function transferAndCall(address _to, uint256 _value, bytes _data)
        public
        validRecipient(_to)
        returns (bool success)
    {
        return super.transferAndCall(_to, _value, _data);
    }

burn keyboard_arrow_up

Parameters help

Name Type
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
    function burn(uint256 _value)
        public
        onlyOwner
        returns (bool)
    {
        balances[msg.sender] = balances[msg.sender].sub(_value);
        totalSupply = totalSupply.sub(_value);
        Burn(msg.sender, _value);
        return true;
    }

burnFrom keyboard_arrow_up

Parameters help

Name Type
_from
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
    function burnFrom(address _from, uint256 _value)
        public
        onlyOwner
        returns(bool)
    {
        var _allowance = allowed[_from][msg.sender];
        balances[_from] = balances[_from].sub(_value);
        allowed[_from][msg.sender] = _allowance.sub(_value);
        totalSupply = totalSupply.sub(_value);
        Burn(_from, _value);
        return true;
    }

emergencyERC20Drain keyboard_arrow_up

Parameters help

Name Type
token
ERC20 help
amount
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
    function emergencyERC20Drain(ERC20 token, uint256 amount)
        public
        onlyOwner
    {
        token.transfer(owner, amount);
    }

changeTokenSaleAddress keyboard_arrow_up

Parameters help

Name Type
_tokenSaleAddress
address help

Properties

Visibility help public
Mutability help transaction
Source Code
    function changeTokenSaleAddress(address _tokenSaleAddress)
        public
        onlyOwner
        validRecipient(_tokenSaleAddress)
    {
        tokenSaleAddress = _tokenSaleAddress;
    }

changeMdtTeamAddress keyboard_arrow_up

Parameters help

Name Type
_mdtTeamAddress
address help

Properties

Visibility help public
Mutability help transaction
Source Code
    function changeMdtTeamAddress(address _mdtTeamAddress)
        public
        onlyOwner
        validRecipient(_mdtTeamAddress)
    {
        mdtTeamAddress = _mdtTeamAddress;
    }

changeUserGrowthAddress keyboard_arrow_up

Parameters help

Name Type
_userGrowthAddress
address help

Properties

Visibility help public
Mutability help transaction
Source Code
    function changeUserGrowthAddress(address _userGrowthAddress)
        public
        onlyOwner
        validRecipient(_userGrowthAddress)
    {
        userGrowthAddress = _userGrowthAddress;
    }

changeInvestorsAddress keyboard_arrow_up

Parameters help

Name Type
_investorsAddress
address help

Properties

Visibility help public
Mutability help transaction
Source Code
    function changeInvestorsAddress(address _investorsAddress)
        public
        onlyOwner
        validRecipient(_investorsAddress)
    {
        investorsAddress = _investorsAddress;
    }

changeMdtFoundationAddress keyboard_arrow_up

Parameters help

Name Type
_mdtFoundationAddress
address help

Properties

Visibility help public
Mutability help transaction
Source Code
    function changeMdtFoundationAddress(address _mdtFoundationAddress)
        public
        onlyOwner
        validRecipient(_mdtFoundationAddress)
    {
        mdtFoundationAddress = _mdtFoundationAddress;
    }