-
-
Save giladHaimov/8e81dbde10c9aeff69a1d683ed6870be to your computer and use it in GitHub Desktop.
pragma solidity ^0.4.19; | |
contract ERC20Basic { | |
string public constant name = "ERC20Basic"; | |
string public constant symbol = "BSC"; | |
uint8 public constant decimals = 18; | |
event Approval(address indexed tokenOwner, address indexed spender, uint tokens); | |
event Transfer(address indexed from, address indexed to, uint tokens); | |
mapping(address => uint256) balances; | |
mapping(address => mapping (address => uint256)) allowed; | |
uint256 totalSupply_; | |
using SafeMath for uint256; | |
constructor(uint256 total) public { | |
totalSupply_ = total; | |
balances[msg.sender] = totalSupply_; | |
} | |
function totalSupply() public view returns (uint256) { | |
return totalSupply_; | |
} | |
function balanceOf(address tokenOwner) public view returns (uint) { | |
return balances[tokenOwner]; | |
} | |
function transfer(address receiver, uint numTokens) public returns (bool) { | |
require(numTokens <= balances[msg.sender]); | |
balances[msg.sender] = balances[msg.sender].sub(numTokens); | |
balances[receiver] = balances[receiver].add(numTokens); | |
emit Transfer(msg.sender, receiver, numTokens); | |
return true; | |
} | |
function approve(address delegate, uint numTokens) public returns (bool) { | |
allowed[msg.sender][delegate] = numTokens; | |
Approval(msg.sender, delegate, numTokens); | |
return true; | |
} | |
function allowance(address owner, address delegate) public view returns (uint) { | |
return allowed[owner][delegate]; | |
} | |
function transferFrom(address owner, address buyer, uint numTokens) public returns (bool) { | |
require(numTokens <= balances[owner]); | |
require(numTokens <= allowed[owner][msg.sender]); | |
balances[owner] = balances[owner].sub(numTokens); | |
allowed[owner][msg.sender] = allowed[owner][msg.sender].sub(numTokens); | |
balances[buyer] = balances[buyer].add(numTokens); | |
Transfer(owner, buyer, numTokens); | |
return true; | |
} | |
} | |
library SafeMath { | |
function sub(uint256 a, uint256 b) internal pure returns (uint256) { | |
assert(b <= a); | |
return a - b; | |
} | |
function add(uint256 a, uint256 b) internal pure returns (uint256) { | |
uint256 c = a + b; | |
assert(c >= a); | |
return c; | |
} | |
} |
Great suggestions @Dinslinger90
How to call ERC20 contract for tranfer to another contract ,Thank you
do you mean how to transfer token to an address?
can you update source for latest version of pragma solidity?
tnx
has Anyone a code for a deflationary token?
has Anyone a code for a deflationary token?
@lrod29 Having a fixed maximum on your circulating supply should be enough to make a token deflationary. Fiats like USD are inflationary because the gov't is always printing it with no cap.
can you please suggest any article of yours where you showed how to transfer tokens to another address? And how to create another address to testing the transfer process.
hi anybody can explaine what this soldity do ??
Where exactly do you enter the total supply in the above?
how to exchange real usdt token through smart contract,
can buy /sell,from usdt to "BSC" token?
how do i add logo to the coin thats created and will this code work for the bsc
Gotta change
- line no 46
https://gist.github.com/giladHaimov/8e81dbde10c9aeff69a1d683ed6870be#file-basicerc20-sol-L46
emit Approval(msg.sender, delegate, numTokens);- line no 61
https://gist.github.com/giladHaimov/8e81dbde10c9aeff69a1d683ed6870be#file-basicerc20-sol-L61- line no 1
pragma solidity ^0.4.19; -> This version doen't work.
advised one -> pragma solidity >=0.4.22 <0.6.0;
Thanks 👍
what has to be done at line 61??
add emit
how do i add logo to the coin thats created and will this code work for the bsc
you just have to deploy it on BSC network.. and checkout https://etherscan.io/ or https://bscscan.com/ for adding logo and verifying a contract..
Gotta change
https://gist.github.com/giladHaimov/8e81dbde10c9aeff69a1d683ed6870be#file-basicerc20-sol-L46
emit Approval(msg.sender, delegate, numTokens);
https://gist.github.com/giladHaimov/8e81dbde10c9aeff69a1d683ed6870be#file-basicerc20-sol-L61
pragma solidity ^0.4.19; -> This version doen't work.
advised one -> pragma solidity >=0.4.22 <0.6.0;
Thanks 👍