ETH Price: $3,930.94 (+5.68%)

Contract

0x21D5A14e625d767Ce6b7A167491C2d18e0785fDa
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Jinbi Token (JNB) (@$25,638.2925)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer213359812024-12-05 11:25:111 hr ago1733397911IN
Jinbi: JNB Token
0 ETH0.0009824318.73918135
Transfer213353342024-12-05 9:15:233 hrs ago1733390123IN
Jinbi: JNB Token
0 ETH0.0009714918.53471808
Approve213314232024-12-04 20:07:5916 hrs ago1733342879IN
Jinbi: JNB Token
0 ETH0.0012771527.74798199
Transfer213313092024-12-04 19:45:1117 hrs ago1733341511IN
Jinbi: JNB Token
0 ETH0.0010002328.31352609
Transfer213312752024-12-04 19:38:2317 hrs ago1733341103IN
Jinbi: JNB Token
0 ETH0.0012950824.70272603
Transfer213311792024-12-04 19:19:1117 hrs ago1733339951IN
Jinbi: JNB Token
0 ETH0.001495828.52459628
Transfer213303502024-12-04 16:32:5920 hrs ago1733329979IN
Jinbi: JNB Token
0 ETH0.0023383944.6028659
Transfer213303222024-12-04 16:27:2320 hrs ago1733329643IN
Jinbi: JNB Token
0 ETH0.0017800550.3537234
Transfer213301562024-12-04 15:54:1121 hrs ago1733327651IN
Jinbi: JNB Token
0 ETH0.0024081445.93325695
Transfer213290332024-12-04 12:07:4724 hrs ago1733314067IN
Jinbi: JNB Token
0 ETH0.0010843920.67922806
Transfer213289942024-12-04 11:59:5925 hrs ago1733313599IN
Jinbi: JNB Token
0 ETH0.0009815218.71753179
Transfer213286402024-12-04 10:48:3526 hrs ago1733309315IN
Jinbi: JNB Token
0 ETH0.0010140419.33755006
Transfer213285392024-12-04 10:28:1126 hrs ago1733308091IN
Jinbi: JNB Token
0 ETH0.0005740516.24437539
Transfer213282312024-12-04 9:26:3527 hrs ago1733304395IN
Jinbi: JNB Token
0 ETH0.000858724.30742863
Transfer213282132024-12-04 9:22:5927 hrs ago1733304179IN
Jinbi: JNB Token
0 ETH0.0011097121.17175562
Transfer213275122024-12-04 7:02:3529 hrs ago1733295755IN
Jinbi: JNB Token
0 ETH0.0006260817.71658936
Approve213250302024-12-03 22:42:4738 hrs ago1733265767IN
Jinbi: JNB Token
0 ETH0.0011106224.08585718
Transfer213228662024-12-03 15:27:1145 hrs ago1733239631IN
Jinbi: JNB Token
0 ETH0.0019174154.25767638
Transfer213221832024-12-03 13:09:3547 hrs ago1733231375IN
Jinbi: JNB Token
0 ETH0.00504324142.71036181
Transfer213220332024-12-03 12:39:352 days ago1733229575IN
Jinbi: JNB Token
0 ETH0.0010998720.97918137
Transfer213199532024-12-03 5:41:232 days ago1733204483IN
Jinbi: JNB Token
0 ETH0.000796515.18925746
Transfer213138922024-12-02 9:20:353 days ago1733131235IN
Jinbi: JNB Token
0 ETH0.0005250314.8571915
Transfer213137492024-12-02 8:51:473 days ago1733129507IN
Jinbi: JNB Token
0 ETH0.0017098332.61369811
Transfer213136242024-12-02 8:26:353 days ago1733127995IN
Jinbi: JNB Token
0 ETH0.0005618415.89325872
Transfer213120152024-12-02 3:02:353 days ago1733108555IN
Jinbi: JNB Token
0 ETH0.0007617714.53025032
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xAfDDA94D...2A6103Bf0
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
MultiToken

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-10-29
*/

pragma solidity  0.4.21;


library SafeMath {

    function mul(uint a, uint b) internal pure returns(uint) {
        uint c = a * b;
        assert(a == 0 || c / a == b);
        return c;
    }

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

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


contract ERC20 {
    uint public totalSupply;

    function balanceOf(address who) public view returns(uint);

    function allowance(address owner, address spender) public view returns(uint);

    function transfer(address to, uint value) public returns(bool ok);

    function transferFrom(address from, address to, uint value) public returns(bool ok);

    function approve(address spender, uint value) public returns(bool ok);

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


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;
    address public newOwner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
    * @dev The Ownable constructor sets the original `owner` of the contract to the sender
    * account.
    */
    function Ownable() public {
        owner = msg.sender;
        newOwner = address(0);
    }

    /**
    * @dev Throws if called by any account other than the owner.
    */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    * @param _newOwner The address to transfer ownership to.
    */
    function transferOwnership(address _newOwner) public onlyOwner {
        require(address(0) != _newOwner);
        newOwner = _newOwner;
    }

    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnershipTransferred(owner, msg.sender);
        owner = msg.sender;
        newOwner = address(0);
    }

}


// The  Exchange token
contract MultiToken is ERC20, Ownable {

    using SafeMath for uint;
    // Public variables of the token
    string public name;
    string public symbol;
    uint public decimals; // How many decimals to show.
    string public version;
    uint public totalSupply;
    uint public tokenPrice;
    bool public exchangeEnabled;
    bool public codeExportEnabled;
    address public commissionAddress;           // address to deposit commissions
    uint public deploymentCost;                 // cost of deployment with exchange feature
    uint public tokenOnlyDeploymentCost;        // cost of deployment with basic ERC20 feature
    uint public exchangeEnableCost;             // cost of upgrading existing ERC20 to exchange feature
    uint public codeExportCost;                 // cost of exporting the code

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

    // The Token constructor
    function MultiToken(
        uint _initialSupply,
        string _tokenName,
        uint _decimalUnits,
        string _tokenSymbol,
        string _version,
        uint _tokenPrice
                        ) public
    {

        totalSupply = _initialSupply * (10**_decimalUnits);
        name = _tokenName;          // Set the name for display purposes
        symbol = _tokenSymbol;      // Set the symbol for display purposes
        decimals = _decimalUnits;   // Amount of decimals for display purposes
        version = _version;         // Version of token
        tokenPrice = _tokenPrice;   // Token price in ETH

        balances[owner] = totalSupply;

        deploymentCost = 25e17;
        tokenOnlyDeploymentCost = 15e17;
        exchangeEnableCost = 15e17;
        codeExportCost = 1e19;

        codeExportEnabled = true;
        exchangeEnabled = true;

        // if (deploymentCost + codeExportCost == msg.value) {
        //     codeExportEnabled = true;
        //     exchangeEnabled = true;
        // }else if (tokenOnlyDeploymentCost + codeExportCost == msg.value)
        //     codeExportEnabled = true;
        // else if (deploymentCost == msg.value)
        //     exchangeEnabled = true;
        // else if (tokenOnlyDeploymentCost == msg.value)
        //     exchangeEnabled = false;
        // else {
        //     revert();  // fail if wrong amount sent.
        // }
        commissionAddress = 0x80eFc17CcDC8fE6A625cc4eD1fdaf71fD81A2C99;
        // commissionAddress.transfer(msg.value);
    }

    event TransferSold(address indexed to, uint value);
    event TokenExchangeEnabled(address caller, uint exchangeCost);
    event TokenExportEnabled(address caller, uint enableCost);

    // @noice To be called by parent contract to enable exchange functionality
    // @param _tokenPrice {uint} costo of token in ETH
    // @return true {bool} if successful
    function enableExchange(uint _tokenPrice) public payable {

        require(!exchangeEnabled);
        require(exchangeEnableCost == msg.value);
        exchangeEnabled = true;
        tokenPrice = _tokenPrice;
        commissionAddress.transfer(msg.value);
        emit TokenExchangeEnabled(msg.sender, _tokenPrice);
    }

        // @notice to enable code export functionality
    function enableCodeExport() public payable {

        require(!codeExportEnabled);
        require(codeExportCost == msg.value);
        codeExportEnabled = true;
        commissionAddress.transfer(msg.value);
        emit TokenExportEnabled(msg.sender, msg.value);
    }

    // @notice It will send tokens to sender based on the token price
    function swapTokens() public payable {

        require(exchangeEnabled);
        uint tokensToSend;
        tokensToSend = (msg.value * (10**decimals)) / tokenPrice;
        require(balances[owner] >= tokensToSend);
        balances[msg.sender] = balances[msg.sender].add(tokensToSend);
        balances[owner] = balances[owner].sub(tokensToSend);
        owner.transfer(msg.value);
        emit Transfer(owner, msg.sender, tokensToSend);
        emit TransferSold(msg.sender, tokensToSend);
    }


    // @notice will be able to mint tokens in the future
    // @param _target {address} address to which new tokens will be assigned
    // @parm _mintedAmount {uint256} amouont of tokens to mint
    function mintToken(address _target, uint256 _mintedAmount) public onlyOwner() {

        balances[_target] += _mintedAmount;
        totalSupply += _mintedAmount;
        emit Transfer(0, _target, _mintedAmount);
    }

    // @notice transfer tokens to given address
    // @param _to {address} address or recipient
    // @param _value {uint} amount to transfer
    // @return  {bool} true if successful
    function transfer(address _to, uint _value) public returns(bool) {

        require(_to != address(0));
        require(balances[msg.sender] >= _value);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    // @notice transfer tokens from given address to another address
    // @param _from {address} from whom tokens are transferred
    // @param _to {address} to whom tokens are transferred
    // @param _value {uint} amount of tokens to transfer
    // @return  {bool} true if successful
    function transferFrom(address _from, address _to, uint256 _value) public  returns(bool success) {

        require(_to != address(0));
        require(balances[_from] >= _value); // Check if the sender has enough
        require(_value <= allowed[_from][msg.sender]); // Check if allowed is greater or equal
        balances[_from] = balances[_from].sub(_value); // Subtract from the sender
        balances[_to] = balances[_to].add(_value); // Add the same to the recipient
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); // adjust allowed
        emit Transfer(_from, _to, _value);
        return true;
    }

    // @notice to query balance of account
    // @return _owner {address} address of user to query balance
    function balanceOf(address _owner) public view returns(uint balance) {
        return balances[_owner];
    }

    /**
    * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
    *
    * Beware that changing an allowance with this method brings the risk that someone may use both the old
    * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
    * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
    * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    * @param _spender The address which will spend the funds.
    * @param _value The amount of tokens to be spent.
    */
    function approve(address _spender, uint _value) public returns(bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    // @notice to query of allowance of one user to the other
    // @param _owner {address} of the owner of the account
    // @param _spender {address} of the spender of the account
    // @return remaining {uint} amount of remaining allowance
    function allowance(address _owner, address _spender) public view returns(uint remaining) {
        return allowed[_owner][_spender];
    }

    /**
    * approve should be called when allowed[_spender] == 0. To increment
    * allowed value is better to use this function to avoid 2 calls (and wait until
    * the first transaction is mined)
    * From MonolithDAO Token.sol
    */
    function increaseApproval (address _spender, uint _addedValue) public returns (bool success) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval (address _spender, uint _subtractedValue) public returns (bool success) {
        uint oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

}

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":true,"inputs":[],"name":"codeExportCost","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenPrice","type":"uint256"}],"name":"enableExchange","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"codeExportEnabled","outputs":[{"name":"","type":"bool"}],"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":false,"inputs":[],"name":"swapTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"exchangeEnableCost","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_mintedAmount","type":"uint256"}],"name":"mintToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"commissionAddress","outputs":[{"name":"","type":"address"}],"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":"deploymentCost","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenOnlyDeploymentCost","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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"},{"constant":false,"inputs":[],"name":"enableCodeExport","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"exchangeEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"},{"name":"_tokenName","type":"string"},{"name":"_decimalUnits","type":"uint256"},{"name":"_tokenSymbol","type":"string"},{"name":"_version","type":"string"},{"name":"_tokenPrice","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"TransferSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"caller","type":"address"},{"indexed":false,"name":"exchangeCost","type":"uint256"}],"name":"TokenExchangeEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"caller","type":"address"},{"indexed":false,"name":"enableCost","type":"uint256"}],"name":"TokenExportEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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"},{"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"}]

Deployed Bytecode

0x60606040526004361061017f5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610184578063095ea7b31461020e57806318160ddd1461024457806321f7ac0d1461026957806323b872dd1461027c57806327e235e3146102a4578063313ce567146102c35780633a3b955b146102d657806354fd4d50146102e35780635c658165146102f6578063661884631461031b578063706a99fb1461033d57806370a082311461035057806373d002241461036f5780637896cd951461037757806379ba50971461038a57806379c650681461039d5780637ff9b596146103bf5780638da5cb5b146103d2578063931742d31461040157806395d89b4114610414578063a9059cbb14610427578063ac133d3b14610449578063c53abe291461045c578063d4ee1d901461046f578063d73dd62314610482578063dd62ed3e146104a4578063e46f9ecf146104c9578063f2fde38b146104d1578063f5343752146104f0575b600080fd5b341561018f57600080fd5b610197610503565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101d35780820151838201526020016101bb565b50505050905090810190601f1680156102005780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021957600080fd5b610230600160a060020a03600435166024356105a1565b604051901515815260200160405180910390f35b341561024f57600080fd5b61025761060d565b60405190815260200160405180910390f35b341561027457600080fd5b610257610613565b341561028757600080fd5b610230600160a060020a0360043581169060243516604435610619565b34156102af57600080fd5b610257600160a060020a036004351661078a565b34156102ce57600080fd5b61025761079c565b6102e16004356107a2565b005b34156102ee57600080fd5b610197610853565b341561030157600080fd5b610257600160a060020a03600435811690602435166108be565b341561032657600080fd5b610230600160a060020a03600435166024356108db565b341561034857600080fd5b6102306109d5565b341561035b57600080fd5b610257600160a060020a03600435166109e3565b6102e16109fe565b341561038257600080fd5b610257610b72565b341561039557600080fd5b6102e1610b78565b34156103a857600080fd5b6102e1600160a060020a0360043516602435610c05565b34156103ca57600080fd5b610257610c6c565b34156103dd57600080fd5b6103e5610c72565b604051600160a060020a03909116815260200160405180910390f35b341561040c57600080fd5b6103e5610c81565b341561041f57600080fd5b610197610c96565b341561043257600080fd5b610230600160a060020a0360043516602435610d01565b341561045457600080fd5b610257610deb565b341561046757600080fd5b610257610df1565b341561047a57600080fd5b6103e5610df7565b341561048d57600080fd5b610230600160a060020a0360043516602435610e06565b34156104af57600080fd5b610257600160a060020a0360043581169060243516610eaa565b6102e1610ed5565b34156104dc57600080fd5b6102e1600160a060020a0360043516610f87565b34156104fb57600080fd5b610230610fe6565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105995780601f1061056e57610100808354040283529160200191610599565b820191906000526020600020905b81548152906001019060200180831161057c57829003601f168201915b505050505081565b600160a060020a033381166000818152600f6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60075481565b600d5481565b6000600160a060020a038316151561063057600080fd5b600160a060020a0384166000908152600e60205260409020548290101561065657600080fd5b600160a060020a038085166000908152600f60209081526040808320339094168352929052205482111561068957600080fd5b600160a060020a0384166000908152600e60205260409020546106b2908363ffffffff610fef16565b600160a060020a038086166000908152600e602052604080822093909355908516815220546106e7908363ffffffff61100116565b600160a060020a038085166000908152600e60209081526040808320949094558783168252600f815283822033909316825291909152205461072f908363ffffffff610fef16565b600160a060020a038086166000818152600f6020908152604080832033861684529091529081902093909355908516916000805160206110268339815191529085905190815260200160405180910390a35060019392505050565b600e6020526000908152604090205481565b60055481565b60095460ff16156107b257600080fd5b600c5434146107c057600080fd5b6009805460ff1916600117908190556008829055600160a060020a0362010000909104163480156108fc0290604051600060405180830381858888f19350505050151561080c57600080fd5b7ffe85d1266bd916cff27ead28d4f4e799fd4d7e084b10ec0d251bd28415913e9f3382604051600160a060020a03909216825260208201526040908101905180910390a150565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105995780601f1061056e57610100808354040283529160200191610599565b600f60209081526000928352604080842090915290825290205481565b600160a060020a033381166000908152600f602090815260408083209386168352929052908120548083111561093857600160a060020a033381166000908152600f6020908152604080832093881683529290529081205561096f565b610948818463ffffffff610fef16565b600160a060020a033381166000908152600f60209081526040808320938916835292905220555b600160a060020a033381166000818152600f602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600954610100900460ff1681565b600160a060020a03166000908152600e602052604090205490565b60095460009060ff161515610a1257600080fd5b600854600554600a0a3402811515610a2657fe5b600154600160a060020a03166000908152600e6020526040902054919004915081901015610a5357600080fd5b600160a060020a0333166000908152600e6020526040902054610a7c908263ffffffff61100116565b600160a060020a033381166000908152600e60205260408082209390935560015490911681522054610ab4908263ffffffff610fef16565b60018054600160a060020a039081166000908152600e60205260409081902093909355905416903480156108fc029151600060405180830381858888f193505050501515610b0157600080fd5b600154600160a060020a0333811691166000805160206110268339815191528360405190815260200160405180910390a333600160a060020a03167f03bf997b577b4b96a3678d7b0fe7a083c012b9a26ab46058ab959610ac2c398c8260405190815260200160405180910390a250565b600c5481565b60025433600160a060020a03908116911614610b9357600080fd5b600154600160a060020a0333811691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360018054600160a060020a03331673ffffffffffffffffffffffffffffffffffffffff1991821617909155600280549091169055565b60015433600160a060020a03908116911614610c2057600080fd5b600160a060020a0382166000818152600e602052604080822080548501905560078054850190556000805160206110268339815191529084905190815260200160405180910390a35050565b60085481565b600154600160a060020a031681565b600954620100009004600160a060020a031681565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105995780601f1061056e57610100808354040283529160200191610599565b6000600160a060020a0383161515610d1857600080fd5b600160a060020a0333166000908152600e602052604090205482901015610d3e57600080fd5b600160a060020a0333166000908152600e6020526040902054610d67908363ffffffff610fef16565b600160a060020a033381166000908152600e60205260408082209390935590851681522054610d9c908363ffffffff61100116565b600160a060020a038085166000818152600e602052604090819020939093559133909116906000805160206110268339815191529085905190815260200160405180910390a350600192915050565b600a5481565b600b5481565b600254600160a060020a031681565b600160a060020a033381166000908152600f60209081526040808320938616835292905290812054610e3e908363ffffffff61100116565b600160a060020a033381166000818152600f602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a039182166000908152600f6020908152604080832093909416825291909152205490565b600954610100900460ff1615610eea57600080fd5b600d543414610ef857600080fd5b6009805461ff0019166101001790819055600160a060020a0362010000909104163480156108fc0290604051600060405180830381858888f193505050501515610f4157600080fd5b7ff403a5defe31155e78a3f7b6385e6786f07d20d1910bc8b5601b057265d38aef3334604051600160a060020a03909216825260208201526040908101905180910390a1565b60015433600160a060020a03908116911614610fa257600080fd5b600160a060020a0381161515610fb757600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60095460ff1681565b600082821115610ffb57fe5b50900390565b60008282018381108015906110165750828110155b151561101e57fe5b93925050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d6c5959d0c45d1be8549b4b36282a2e5c915df8f5f72dfcac7079efcba4dc26a0029

Swarm Source

bzzr://d6c5959d0c45d1be8549b4b36282a2e5c915df8f5f72dfcac7079efcba4dc26a

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

Jinbi Token merges gold with blockchain technology. A new horizon of wealth and security. Jinbi = 金币 Gold coin in Mandarin

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.