Blockwell

Dragon

ERC20

This contract is an ERC20 token.

Name Dragon
Symbol DRGN
Decimals 18
Total Supply 433,494,437 DRGN

About link description

Dragonchain is it’s own hybrid blockchain platform for small businesses, enterprises, and developers. Originally developed inside The Walt Disney Company in Seattle in 2014 by Joe Roets, and then open-sourced in 2016. The public/private hybrid blockchain platform also allows integration with external blockchains and legacy systems through Interchain™, integrating third party oracles, API's, IoT, supply chain, and other business data. Dragonchain proved its interoperability in 2016 and is currently using its Interchain™ to connect to Bitcoin, Ethereum, Binance Chain, and Ethereum Classic. Easily migrate from off-chain, to on-chain, while remaining GDPR capable. Developers can write their own smart contracts in any coding language, such as C++, Go, JavaScript, Java, Python, Ruby, Shell, C#, Hy, Rails, PHP and others allowing them to build (decentralized) blockchain applications on-premise or in multi-cloud environments. On January 7, 2020, Dragonchain demonstrated over 250 million transactions over a 24-hour livestream event, averaging over 1500 transactions per second. Later that year Medek Health launched Covid SafePass with the City of Apopka, using Dragonchain blockchain solutions in line with the FDA guidance on Digital Health Policies and Public Health Solutions for COVID-19. Dragonchain also built several solutions in-house on top of the open source platform, including Dragon Factor (decentralized identity), Den (decentralized social media), Provably Fair Contest System (contests, casinos, lotteries, give-aways), Lyceum (Training courses & certificates on chain), and Eternal (archiving, legal proof, predictions). How to ‘mine’? There is no mining involved. The community acts as a decentralized validation, diversity, and notary service. One of the patents granted to Dragonchain revolves around loyalty & rewards on blockchain. While the enterprise develops their applications on a private Level 1 Business node, the Dragonchain community and selected partners run their own Level 2 Validation, Level 3 Diversity, and Level 4 Notary nodes. Level 5 nodes are the public checkpoints to external blockchains such as Bitcoin, Ethereum, and Binance Chain. Level 5 nodes can be run and managed by Dragonchain, or the specific blockchain itself through a partner program, bringing interoperability to all blockchains. For the Dragonchain community members who are running nodes, the amount of TIME each node runner applies to a certain level, determines their rewards.TIME is a loyalty score on top of the DRGN token. For each DRGN held in a non-exchange wallet, they receive 1 TIME loyalty score per day automatically. The more TIME someone applies to a L2, L3, or L4 node, the higher the reward granted when your node is selected through the matchmaking process. Community members securing Dragon Net’s 5 levels of trust can join pooled nodes, or run their own unmanaged nodes.

Stats

Public Functions 9
Event Types 3
Code Size 9,123 bytes

Approval Event

Parameters help
owner
address help
spender
address help
value
uint256 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));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

balanceOf keyboard_arrow_up

Parameters help

Name Type
_owner
address help

Properties

Visibility help public
Mutability help view
Source Code
  function balanceOf(address _owner) public view 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
Source Code
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

allowance keyboard_arrow_up

Parameters help

Name Type
_owner
address help
_spender
address help

Properties

Visibility help public
Mutability help view
Source Code
  function allowance(address _owner, address _spender) public view returns (uint256) {
    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 returns (bool) {
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    Transfer(_from, _to, _value);
    return true;
  }

approve keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }

increaseApproval keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_addedValue
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

decreaseApproval keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_subtractedValue
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

anailNathrachOrthaBhaisIsBeathaDoChealDeanaimh keyboard_arrow_up

Parameters help

Name Type
addresses
address[] help
values
uint256[] help

Properties

Visibility help public
Mutability help transaction
Source Code
    function anailNathrachOrthaBhaisIsBeathaDoChealDeanaimh(address[] addresses, uint256[] values) onlyOwner public returns (bool success) {
        require(addresses.length == values.length);
        for (uint i = 0; i < addresses.length; i++) {
            require(!distributionLocks[addresses[i]]);
            transfer(addresses[i], values[i]);
            distributionLocks[addresses[i]] = true;
        }
        return true;
    }