This is my simple code just learning the process. Why when i launch the code does my wallet only receive 000000.1 instead of 10,000,000 what am i doing wrong thanks in advance
pragma solidity ^0.5.0;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.5.0/contracts/token/ERC20/ERC20.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.5.0/contracts/token/ERC20/ERC20Detailed.sol";
contract $420 is ERC20, ERC20Detailed {
constructor () public ERC20Detailed("$420", "420", 18) {
_mint(msg.sender, 10000000 * (10 ** uint256(decimals())));
}
}
1 Like
Hi @apex_legend,
I just deployed in Remix and it shows the balance and total supply as I would expect:
Unless you have a specific need to use Solidity 0.5, I suggest looking at OpenZeppelin Contracts Wizard to generate an ERC20: https://zpl.in/wizard
1 Like
Ive tried every zeppelin link and it will never compile this is the only way it works for me. So you re able tp get 10,000,000 coins sent t your wallet if you were to deploy? The code is correct?
Will this zeppelin code not function properly if I were to deploy it on BSC. Want a personal coin in my wallet for fun just trying to build it. 10,000,000. wins was the goal. At first I ended up with .0000001 coming to my wallet now I cant even link need more gas. But don’t want to pay again if it will do the same. Thanks in advance
Solidity is not dealing with decimals, This is usually done in the front end.
In solidity all amount are in Wei with no decimals.
1 ETHER = 1000000000000000000
it has 18 decimals places. so if the frontend take a number like 10 000
it has to be passed as wei so 10 000 = 10 000 000 000 000 000 000 000 Wei
10 000 000 in WEI would give you 0.000000000010000000 ETHER
It looks like you are not using the right amount of decimals places.
I see you pass 18 to the function but then use uint256 decimals?? What value is assigned to decimals?
1 Like