ETH Price: $1,826.45 (+2.00%)
Gas: 24 Gwei
 

More Info

Private Name Tags

TokenTracker

BTOCoin (BTO) (@$0.0007)

Multi Chain

Multichain Addresses

1 address found via Blockscan
Transaction Hash
Method
Block
From
To
Value
Transfer164731242023-01-24 0:35:4767 days 8 hrs ago1674520547IN
Bottos: BTO Coin
0 ETH0.000950820.26009201
Transfer160010892022-11-19 2:30:47133 days 6 hrs ago1668825047IN
Bottos: BTO Coin
0 ETH0.000659314.05586335
Approve156849662022-10-05 22:44:23177 days 10 hrs ago1665009863IN
Bottos: BTO Coin
0 ETH0.001460931.54078348
Transfer151626742022-07-17 21:58:12257 days 11 hrs ago1658095092IN
Bottos: BTO Coin
0 ETH0.0009383620
Transfer144353882022-03-22 9:45:11374 days 23 hrs ago1647942311IN
Bottos: BTO Coin
0 ETH0.000904919.29197467
Transfer137050872021-11-28 22:52:36488 days 10 hrs ago1638139956IN
Bottos: BTO Coin
0 ETH0.00661713141
Transfer132950132021-09-25 12:39:50552 days 20 hrs ago1632573590IN
Bottos: BTO Coin
0 ETH0.0009064630.4
Transfer132949542021-09-25 12:26:04552 days 20 hrs ago1632572764IN
Bottos: BTO Coin
0 ETH0.000906130.4
Transfer132944682021-09-25 10:35:51552 days 22 hrs ago1632566151IN
Bottos: BTO Coin
0 ETH0.0007755426.05119678
Transfer131758212021-09-07 1:55:59571 days 7 hrs ago1630979759IN
Bottos: BTO Coin
0 ETH0.00559247108.13406695
Transfer130603172021-08-20 5:35:18589 days 3 hrs ago1629437718IN
Bottos: BTO Coin
0 ETH0.0008528818.1875
Transfer128409402021-07-16 23:52:23623 days 9 hrs ago1626479543IN
Bottos: BTO Coin
0 ETH0.0008812324
Transfer127282372021-06-29 9:41:53640 days 23 hrs ago1624959713IN
Bottos: BTO Coin
0 ETH0.0005505915
Transfer127024612021-06-25 9:28:33644 days 23 hrs ago1624613313IN
Bottos: BTO Coin
0 ETH0.0007653222.1
Transfer127024492021-06-25 9:25:55644 days 23 hrs ago1624613155IN
Bottos: BTO Coin
0 ETH0.0004335522.1
Transfer127000222021-06-25 0:12:57645 days 8 hrs ago1624579977IN
Bottos: BTO Coin
0 ETH0.0005254114.3
Transfer126050212021-06-10 6:02:31660 days 2 hrs ago1623304951IN
Bottos: BTO Coin
0 ETH0.000323578.8125
Transfer125749402021-06-05 14:22:58664 days 18 hrs ago1622902978IN
Bottos: BTO Coin
0 ETH0.0015511830
Transfer125549142021-06-02 11:52:09667 days 21 hrs ago1622634729IN
Bottos: BTO Coin
0 ETH0.0008726223.75
Transfer124889742021-05-23 6:27:02678 days 2 hrs ago1621751222IN
Bottos: BTO Coin
0 ETH0.0022533543.56
Transfer124826392021-05-22 6:58:07679 days 2 hrs ago1621666687IN
Bottos: BTO Coin
0 ETH0.0043096983.35
Transfer124495502021-05-17 3:36:25684 days 5 hrs ago1621222585IN
Bottos: BTO Coin
0 ETH0.00447813122.00000145
Transfer124426462021-05-16 1:44:54685 days 7 hrs ago1621129494IN
Bottos: BTO Coin
0 ETH0.0010397553.00000145
Transfer124426192021-05-16 1:39:12685 days 7 hrs ago1621129152IN
Bottos: BTO Coin
0 ETH0.0028955356.00000145
Transfer123973022021-05-09 1:53:46692 days 7 hrs ago1620525226IN
Bottos: BTO Coin
0 ETH0.00791285153
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BTOToken

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-12-26
*/

pragma solidity ^0.4.11;

/**
 * Math operations with safety checks
 */
library SafeMath {
  function mul(uint a, uint b) internal returns (uint) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint a, uint b) internal returns (uint) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  function sub(uint a, uint b) internal returns (uint) {
    assert(b <= a);
    return a - b;
  }

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

  function max64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a >= b ? a : b;
  }

  function min64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a < b ? a : b;
  }

  function max256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a >= b ? a : b;
  }

  function min256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a < b ? a : b;
  }

  function assert(bool assertion) internal {
    if (!assertion) {
      throw;
    }
  }
}

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20Basic {
  uint public totalSupply;
  function balanceOf(address _owner) constant returns (uint balance);
  function transfer(address _to, uint _value) returns (bool success);
  event Transfer(address indexed _from, address indexed _to, uint _value);
}


/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address _owner, address _spender) constant returns (uint remaining);
  function transferFrom(address _from, address _to, uint _value) returns (bool success);
  function approve(address _spender, uint _value) returns (bool success);
  event Approval(address indexed _owner, address indexed _spender, uint _value);
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances. 
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint;

  mapping(address => uint) balances;

  /**
   * @dev Fix for the ERC20 short address attack.
   */
  modifier onlyPayloadSize(uint size) {
     if(msg.data.length < size + 4) {
       throw;
     }
     _;
  }

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) returns (bool){
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
	
	return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of. 
  * @return An uint representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) constant returns (uint balance) {
    return balances[_owner];
  }

}

/**
 * @title Standard ERC20 token
 *
 * @dev Implemantation of the basic standart token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is BasicToken, ERC20 {

  mapping (address => mapping (address => uint)) allowed;


  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint the amout of tokens to be transfered
   */
  function transferFrom(address _from, address _to, uint _value) onlyPayloadSize(3 * 32) returns (bool){
    var _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // if (_value > _allowance) throw;

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

  /**
   * @dev Aprove the passed address to spend the specified amount of tokens on beahlf of msg.sender.
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint _value) returns (bool){

    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(_spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) throw;

    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
	
	return true;
  }

  /**
   * @dev Function to check the amount of tokens than an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint specifing the amount of tokens still avaible for the spender.
   */
  function allowance(address _owner, address _spender) constant returns (uint remaining) {
    return allowed[_owner][_spender];
  }

}

// @title BTO Protocol Token.
// For more information about this token sale, please visit https://www.bottos.org/

contract BTOToken is StandardToken {
    string public constant name = "BTOCoin";
    string public constant symbol = "BTO";
    uint public constant decimals = 18;

    // Note: this will be initialized during the contract deployment.
    address public target;    

    /**
     * CONSTRUCTOR 
     * 
     * @dev Initialize the BTO Token
     */
    function BTOToken(address _target) {
        target = _target;
        totalSupply = 10 ** 27;
        balances[target] = totalSupply;
    }   
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"target","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_target","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"}]

6060604052341561000f57600080fd5b604051602080610d308339810160405280805190602001909190505080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506b033b2e3c9fd0803ce800000060008190555060005460016000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050610c39806100f76000396000f3006060604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100a9578063095ea7b31461013757806318160ddd1461019157806323b872dd146101ba578063313ce5671461023357806370a082311461025c57806395d89b41146102a9578063a9059cbb14610337578063d4b8399214610391578063dd62ed3e146103e6575b600080fd5b34156100b457600080fd5b6100bc610452565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100fc5780820151818401526020810190506100e1565b50505050905090810190601f1680156101295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014257600080fd5b610177600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061048b565b604051808215151515815260200191505060405180910390f35b341561019c57600080fd5b6101a4610614565b6040518082815260200191505060405180910390f35b34156101c557600080fd5b610219600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061061a565b604051808215151515815260200191505060405180910390f35b341561023e57600080fd5b6102466108e1565b6040518082815260200191505060405180910390f35b341561026757600080fd5b610293600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108e6565b6040518082815260200191505060405180910390f35b34156102b457600080fd5b6102bc61092f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102fc5780820151818401526020810190506102e1565b50505050905090810190601f1680156103295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561034257600080fd5b610377600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610968565b604051808215151515815260200191505060405180910390f35b341561039c57600080fd5b6103a4610b1a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103f157600080fd5b61043c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b40565b6040518082815260200191505060405180910390f35b6040805190810160405280600781526020017f42544f436f696e0000000000000000000000000000000000000000000000000081525081565b600080821415801561051a57506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1561052457600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b6000806060600481016000369050101561063357600080fd5b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915061070484600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bc790919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061079984600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610be590919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107ef8483610be590919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36001925050509392505050565b601281565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040805190810160405280600381526020017f42544f000000000000000000000000000000000000000000000000000000000081525081565b60006040600481016000369050101561098057600080fd5b6109d283600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610be590919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a6783600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bc790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808284019050610bdb84821015610bfe565b8091505092915050565b6000610bf383831115610bfe565b818303905092915050565b801515610c0a57600080fd5b505600a165627a7a72305820d19810b6604997b8b0107a65d008f188584e800e061d7a2e4f51df64a1376feb00290000000000000000000000001122b68a92899a0e3220748562eaff2891e987e5

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000001122b68a92899a0e3220748562eaff2891e987e5

-----Decoded View---------------
Arg [0] : _target (address): 0x1122B68a92899A0e3220748562EaFf2891E987E5

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001122b68a92899a0e3220748562eaff2891e987e5


Swarm Source

bzzr://d19810b6604997b8b0107a65d008f188584e800e061d7a2e4f51df64a1376feb

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Bottos is more than an AI public chain with both data and model marketplaces, Bottos is a platform for the value exchange of AI and affiliated industries based on data feeding, with the ultimate goal of building a distributed AI new ecosystem.

Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

Validator Index Block Amount
View All Withdrawals
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.