Creating a token that can be burnt
If new tokens can be created as per requirement, then we can also have a functionality that will delete the tokens from the network. In simple terms, burnt tokens cannot be spent anymore. In reality, decreasing the total supply can increase the value of each token in addition to other benefits.
In this recipe, you will learn a method to delete tokens permanently from the contract.
Getting ready
You need to have a development environment that supports solidity programming and an Ethereum network to deploy and test your code.
This contract extends the ERC20 contract explained in the first three recipes of this chapter. If you don't know what ERC20 is, then it is recommended to try the previous recipes before stepping through this one.
How to do it…
- Extend the ERC20 contract to create a new burnable token contract:
pragma solidity ^0.4.23; import "./ERC20.sol"; contract Burnable is ERC20 { ... }
- Create a function that can be called by the user to burn some...