Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
LhsToken
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-08-06 */ pragma solidity ^0.4.16; contract Token{ uint256 public totalSupply; function balanceOf(address _owner) public constant returns (uint256 balance); function transfer(address _to, uint256 _value) public returns (bool success); function transferFrom(address _from, address _to, uint256 _value) public returns (bool success); function approve(address _spender, uint256 _value) public returns (bool success); function allowance(address _owner, address _spender) public constant returns (uint256 remaining); event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } contract LhsToken is Token { string public name; //名称,例如"My test token" uint8 public decimals; //返回token使用的小数点后几位。比如如果设置为3,就是支持0.001表示. string public symbol; //token简称,like MTT mapping (address => uint256) balances; mapping (address => mapping (address => uint256)) allowed; function LhsToken(uint256 _initialAmount, string _tokenName, uint8 _decimalUnits, string _tokenSymbol) public { totalSupply = _initialAmount * 10 ** uint256(_decimalUnits); // 设置初始总量 balances[msg.sender] = totalSupply; // 初始token数量给予消息发送者,因为是构造函数,所以这里也是合约的创建者 name = _tokenName; decimals = _decimalUnits; symbol = _tokenSymbol; } // token的发送函数 function _transferFunc(address _from, address _to, uint _value) internal { require(_to != 0x0); // 不是零地址 require(balances[_from] >= _value); // 有足够的余额来发送 require(balances[_to] + _value > balances[_to]); // 这里也有意思, 不能发送负数的值(hhhh) uint previousBalances = balances[_from] + balances[_to]; // 这个是为了校验, 避免过程出错, 总量不变对吧? balances[_from] -= _value; //发钱 不多说 balances[_to] += _value; Transfer(_from, _to, _value); // 这里触发了转账的事件 , 见上event assert(balances[_from] + balances[_to] == previousBalances); // 判断总额是否一致, 避免过程出错 } function transfer(address _to, uint256 _value) public returns (bool success) { _transferFunc(msg.sender, _to, _value); // 这里已经储存了 合约创建者的信息, 这个函数是只能被合约创建者使用 return true; } function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { require(_value <= allowed[_from][msg.sender]); // 这句很重要, 地址对应的合约地址(也就是token余额) allowed[_from][msg.sender] -= _value; _transferFunc(_from, _to, _value); return true; } function balanceOf(address _owner) public constant returns (uint256 balance) { return balances[_owner]; } function approve(address _spender, uint256 _value) public returns (bool success) { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } function allowance(address _owner, address _spender) public constant returns (uint256 remaining) { return allowed[_owner][_spender];//允许_spender从_owner中转出的token数 } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"success","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"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":"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"},{"inputs":[{"name":"_initialAmount","type":"uint256"},{"name":"_tokenName","type":"string"},{"name":"_decimalUnits","type":"uint8"},{"name":"_tokenSymbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516106ff3803806106ff833981016040908152815160208084015183850151606086015160ff8216600a0a8502600081815533815260048652969096209590955590850180519395909491939101916100719160019186019061009e565b506002805460ff191660ff8416179055805161009490600390602084019061009e565b5050505050610139565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100df57805160ff191683800117855561010c565b8280016001018555821561010c579182015b8281111561010c5782518255916020019190600101906100f1565b5061011892915061011c565b5090565b61013691905b808211156101185760008155600101610122565b90565b6105b7806101486000396000f3006080604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461009d578063095ea7b31461012757806318160ddd1461015f57806323b872dd14610186578063313ce567146101b057806370a08231146101db57806395d89b41146101fc578063a9059cbb14610211578063dd62ed3e14610235575b600080fd5b3480156100a957600080fd5b506100b261025c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100ec5781810151838201526020016100d4565b50505050905090810190601f1680156101195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013357600080fd5b5061014b600160a060020a03600435166024356102e9565b604080519115158252519081900360200190f35b34801561016b57600080fd5b5061017461034f565b60408051918252519081900360200190f35b34801561019257600080fd5b5061014b600160a060020a0360043581169060243516604435610355565b3480156101bc57600080fd5b506101c56103c4565b6040805160ff9092168252519081900360200190f35b3480156101e757600080fd5b50610174600160a060020a03600435166103cd565b34801561020857600080fd5b506100b26103e8565b34801561021d57600080fd5b5061014b600160a060020a0360043516602435610443565b34801561024157600080fd5b50610174600160a060020a0360043581169060243516610459565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102e15780601f106102b6576101008083540402835291602001916102e1565b820191906000526020600020905b8154815290600101906020018083116102c457829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60005481565b600160a060020a038316600090815260056020908152604080832033845290915281205482111561038557600080fd5b600160a060020a03841660009081526005602090815260408083203384529091529020805483900390556103ba848484610484565b5060019392505050565b60025460ff1681565b600160a060020a031660009081526004602052604090205490565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102e15780601f106102b6576101008083540402835291602001916102e1565b6000610450338484610484565b50600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b6000600160a060020a038316151561049b57600080fd5b600160a060020a0384166000908152600460205260409020548211156104c057600080fd5b600160a060020a038316600090815260046020526040902054828101116104e657600080fd5b50600160a060020a038083166000818152600460209081526040808320805495891680855282852080548981039091559486905281548801909155815187815291519390950194927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600160a060020a0380841660009081526004602052604080822054928716825290205401811461058557fe5b505050505600a165627a7a723058200a85458dcde70cff5f4b6f9e82b962ffdfdc47a57dda47894ef9f0ff6c8e7fdb00290000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006333064617973000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035448440000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461009d578063095ea7b31461012757806318160ddd1461015f57806323b872dd14610186578063313ce567146101b057806370a08231146101db57806395d89b41146101fc578063a9059cbb14610211578063dd62ed3e14610235575b600080fd5b3480156100a957600080fd5b506100b261025c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100ec5781810151838201526020016100d4565b50505050905090810190601f1680156101195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013357600080fd5b5061014b600160a060020a03600435166024356102e9565b604080519115158252519081900360200190f35b34801561016b57600080fd5b5061017461034f565b60408051918252519081900360200190f35b34801561019257600080fd5b5061014b600160a060020a0360043581169060243516604435610355565b3480156101bc57600080fd5b506101c56103c4565b6040805160ff9092168252519081900360200190f35b3480156101e757600080fd5b50610174600160a060020a03600435166103cd565b34801561020857600080fd5b506100b26103e8565b34801561021d57600080fd5b5061014b600160a060020a0360043516602435610443565b34801561024157600080fd5b50610174600160a060020a0360043581169060243516610459565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102e15780601f106102b6576101008083540402835291602001916102e1565b820191906000526020600020905b8154815290600101906020018083116102c457829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60005481565b600160a060020a038316600090815260056020908152604080832033845290915281205482111561038557600080fd5b600160a060020a03841660009081526005602090815260408083203384529091529020805483900390556103ba848484610484565b5060019392505050565b60025460ff1681565b600160a060020a031660009081526004602052604090205490565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102e15780601f106102b6576101008083540402835291602001916102e1565b6000610450338484610484565b50600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b6000600160a060020a038316151561049b57600080fd5b600160a060020a0384166000908152600460205260409020548211156104c057600080fd5b600160a060020a038316600090815260046020526040902054828101116104e657600080fd5b50600160a060020a038083166000818152600460209081526040808320805495891680855282852080548981039091559486905281548801909155815187815291519390950194927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600160a060020a0380841660009081526004602052604080822054928716825290205401811461058557fe5b505050505600a165627a7a723058200a85458dcde70cff5f4b6f9e82b962ffdfdc47a57dda47894ef9f0ff6c8e7fdb0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006333064617973000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035448440000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _initialAmount (uint256): 3000
Arg [1] : _tokenName (string): 30days
Arg [2] : _decimalUnits (uint8): 3
Arg [3] : _tokenSymbol (string): THD
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000bb8
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [5] : 3330646179730000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [7] : 5448440000000000000000000000000000000000000000000000000000000000
Swarm Source
bzzr://0a85458dcde70cff5f4b6f9e82b962ffdfdc47a57dda47894ef9f0ff6c8e7fdb
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.