Minting New Tokens
Creating New Tokens
Tokens must be created before they can be transferred. Just setting the total supply is not enough. In our contract, we are going to mint all the tokens during deployment and assign them to the contract owner.
Blockchain Transactions
A transaction is a set of instructions that are sent to the blockchain. It’s used to invoke smart contract methods. Besides the instructions, a transaction also contains authentication information, such as the sender’s signature.
Transaction Sender
The transaction sender pays the transaction fees. In most cases, the transaction sender is involved in the transaction. However, it’s possible to send a transaction on behalf of someone else.
In our example, we set the contract owner as the transaction sender.
Setting the Initial Balances
Update the _deploy
method to set the sender
balance to the total supply.
Now, when you run the balanceOf
method, it will return the total supply. Since we updated the _deploy
method, we need to reset the contract. Press Ctrl+Shift+P
to open the command palette and select Linkd: Reset Blockchain
.
Next, run the balanceOf
method by pressing Run
. Select dev1
and press enter. The method will return the total supply.
What NEP-17 Standard Says About Minting
The NEP-17 standard requires you to fire an event when tokens are created (minted). This allows wallets and other applications to track the token supply. The standard also specified that you must fire an event when tokens are burned.