Show Posts
|
Pages: [1] 2 3 4 »
|
组团ICO(骗钱)收割韭菜!!!
骗你啥了? 求你买了?
|
|
|
大神啊, 能开发币的都是 神级别的。
谢谢各位老板捧场
|
|
|
业务也是广,技术型人才,的确牛。感觉这行业是知识就是财富这句话的最好体现。
谢谢各位老板捧场
|
|
|
Hi, 区块链2年开发经验,提供区块链分叉开发,以太坊开发, 以太坊代币开发服务。 有分叉dash经验, 成功运作2次以太坊代币项目的ICO, 可以帮忙联系交易所或者其他社区。价格面议。 活好, 各位老板有需要请发邮件。 verypay@vip.qq.com
|
|
|
__________________________________________________ ælf __________________________________________________ __________________________________________________ Hi everyone! Welcome to ælf, a decentralised self-evolving cloud computing system. Official website: http://aelf.io/
Thanks for your interests and patience! We are going to launch the first round of our airdrop, please get prepared!
Round 1: You will get ELF tokens after you update your twitter account in our telegram channel. Come and join our Telegram to complete this process and get your free ELF! Telegram: https://t.me/aelfblockchain
|
|
|
看好达世,匿名币种的老牌。 并不太看好洋葱,好像用的是别人的技术吧。
|
|
|
我的天...我在B网还有好多币呢...我去看看去、
|
|
|
能给个完整的合约地址吗?光这么看我不觉得有漏洞,distribute()函数本来就应该这么做,owner -= X; receiver += x; 这没有错,不然你怎么distribute?关键有没有下溢的问题在于看owner的initial_number是多少。 PS我也是软件工程师
因为balance是int256,可以为负,所以owner变为0之后可以继续减。 修改后 function distributeEBTC(address[] addresses) onlyOwner returns (bool a) { for (uint i = 0; i < addresses.length; i++) { if (balances[owner] > 0) { balances[owner]-= 245719916000; balances[addresses[i]] += 245719916000; Transfer(owner, addresses[i], 245719916000); return true; }else{ return false; } } }
修改前 function distributeEBTC(address[] addresses) onlyOwner { for (uint i = 0; i < addresses.length; i++) { balances[owner] -= 245719916000; balances[addresses[i]] += 245719916000; Transfer(owner, addresses[i], 245719916000); } }
完整合约 pragma solidity ^0.4.16;
contract ERC20 { function totalSupply() constant returns (uint256 totalSupply); function balanceOf(address _owner) constant returns (uint256 balance); function transfer(address _to, uint256 _value) returns (bool success); function transferFrom(address _from, address _to, uint256 _value) returns (bool success); function approve(address _spender, uint256 _value) returns (bool success); function allowance(address _owner, address _spender) 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 EBTC is ERC20 { string public constant symbol = "EBTC"; string public constant name = "eBTC"; uint8 public constant decimals = 8; uint256 _totalSupply = 21000000 * 10**8;
address public owner; mapping(address => uint256) balances; mapping(address => mapping (address => uint256)) allowed; function EBTC() { owner = msg.sender; balances[owner] = 21000000 * 10**8; } modifier onlyOwner() { require(msg.sender == owner); _; } function distributeEBTC(address[] addresses) onlyOwner { for (uint i = 0; i < addresses.length; i++) { balances[owner] -= 245719916000; balances[addresses[i]] += 245719916000; Transfer(owner, addresses[i], 245719916000); } } function totalSupply() constant returns (uint256 totalSupply) { totalSupply = _totalSupply; }
function balanceOf(address _owner) constant returns (uint256 balance) { return balances[_owner]; } function transfer(address _to, uint256 _amount) returns (bool success) { if (balances[msg.sender] >= _amount && _amount > 0 && balances[_to] + _amount > balances[_to]) { balances[msg.sender] -= _amount; balances[_to] += _amount; Transfer(msg.sender, _to, _amount); return true; } else { return false; } } function transferFrom( address _from, address _to, uint256 _amount ) returns (bool success) { if (balances[_from] >= _amount && allowed[_from][msg.sender] >= _amount && _amount > 0 && balances[_to] + _amount > balances[_to]) { balances[_from] -= _amount; allowed[_from][msg.sender] -= _amount; balances[_to] += _amount; Transfer(_from, _to, _amount); return true; } else { return false; } } function approve(address _spender, uint256 _amount) returns (bool success) { allowed[msg.sender][_spender] = _amount; Approval(msg.sender, _spender, _amount); return true; } function allowance(address _owner, address _spender) constant returns (uint256 remaining) { return allowed[_owner][_spender]; } }
|
|
|
围观围观,这个签名是真的不错。希望有人能买下来,做中文的bitcointalk,发中国人的空投。
|
|
|
|