hi I just deployed my ERC777 token, with an initial supply of 12000000,
a metamask, (for address[0]), the token has 0 value.
however, under truffle console,
let instance = await PhillipsToken.deployed()
instance.totalSupply(), it showed
BN {
negative: 0,
words: [12000000,
length: 1,
red: null
}
under instance.balanceOf(address[0])
it showed
BN {
negative: 0,
words: [12000000,
length: 1,
red: null
}
my code:
import "@openzeppelin/contracts/token/ERC777/ERC777.sol";
contract PhillipsToken is ERC777 {
uint256 public constant INITIAL_SUPPLY = 12000000;
constructor () public ERC777("PhillipsToken", "PT", new address[](0)) {
//_mint(msg.sender,12000 * 10 **2, "", "")_mint(msg.sender,12000 * 10 **2, "", "");;
_mint(msg.sender,INITIAL_SUPPLY, "", "");
}
}
why it is zero value at metamask?
1 Like
Hi @stepheniecvc,
Your contract is minting tokens to the deployer of the contract.
For a more readable value, you can do (await instance.balanceOf(address)).toString()
I assume MetaMask is using either a different address or network.
I suggest you check that MetaMask is set to the same network and address that you deployed to.
hi i entered instance.balanceOf(address).toString() it returns [Object Promise]
i run ganache-cli first, then with the mnemonic i log in to metamask… it is under local host: 8545… So the network and address are correct.
I unbox another truffle tutorialToken and deploy to 8545 too… and i am able to see initial supply of 12000000 on metamask for this tutorialToken. Just wonder why this ERC777 token has zero value.
my code:
1 Like
hi i tested with ERC20, and there are initial supply of 12000000, but with ERC777, the initial supply is 0 at metamask.
Just wondering why…
1 Like
Hi @stepheniecvc,
I am sorry that you are still having issues with this.
Apologies, I hadn't picked up on how small your initial supply was.
MetaMask displays your tokens, it is just that your supply is really small.
I installed truffle locally (I assume you have it installed globally) and show the display
$ npx truffle console
truffle(development)> token = await PhillipsToken.deployed()
undefined
truffle(development)> (await token.balanceOf(accounts[0])).toString()
'12000000'
truffle(development)> (await token.decimals()).toString()
'18'
12000000
with 18 decimals is 0.000000000012 PT
You should increase your initial supply. The following is only 12 PT
uint256 public constant INITIAL_SUPPLY = 12000000000000000000;
I suggest reading A Note on decimals
A Promise is being returned, we can await
the result:
truffle(development)> (await token.balanceOf(accounts[0])).toString()
'12000000'
hi i changed the initial supply and able to see the value at metamask now… thank you so much for your help…
1 Like