This TokenGen tutorial will focus on using the Token Safe feature i.e. creating token safe groups, adding addresses to them, allocating tokens to each of them, and then releasing those tokens once the release timestamp is reached.
What is the Token Safe Feature Used for?
Before we get to the tutorial on using the token safe feature, let’s first quickly cover why anyone would want the functionality provided by it. As you probably know, it is a popular practice to lock a certain percentage of a token’s total supply for the core team, advisors, community reserve, etc.
This is exactly where the TokenGen Token Safe feature comes in. It allows you to specify the total amount of tokens you want locked in the Token Safe contract, and then split that supply into token safe groups, each of which can have addresses entitled to some part of those token safe tokens. That’s it.
Using the Token Safe Feature
First of all, in order to have access to this feature, your projects needs to have it i.e. you must have selected it when you were creating your project:
Once you have purchased your project, you can head over to the Project Details tab and provide the necessary info in the Token Safe segment:
Naturally, once the release date and time for each token safe group is reached, each of the addresses in it can get their allocated tokens. Here’s how.
Releasing Token Safe Tokens
Since the TokenGen smart contract management interface is now available to all projects out of the box, releasing token safe tokens is a piece of cake. All you need to do is go to the Deployments tab of your project, click on the Manage Contract action button for the deployed smart contract, and then call the Release Tokens method:
The Release Token action is the one right across the tokenSafe variable, the one with the four arrows pointing in different directions. Once you click it, a dialog will open, where you need to provide the necessary info in order to unlock the token safe tokens for a specific address:
Keep in mind that token safe group IDs start from 1. So, in our example, the group ID of the Core Team group is 1 and the group ID of the Advisors group is 2. I will be unlocking the tokens for the first address from the Core Team (0x2604ad5b73c179479961c36fe19872afc9b1c975), so my parameters are 1 for the group ID and the address which’s tokens I want to unlock. Once provided, we just click the Submit button and then submit the MetaMask transaction.
Once it is confirmed, we can use the Check Balance action from the token contract table (the bank icon), to check the balance of our address and, as expected, the address now owns 15,000 of our FPT:
And that’s pretty much all there is to the Token Safe feature. That is how simple it is to use it.
In short, if you need some of your token’s total supply allocated to specific addresses and locked until a certain point in the future, then the Token Safe feature is something you will need to use. And since it is a child’s play to manage your deployed smart contracts via the TokenGen contract management interface, unlocking token safe tokens once a release timestamp is reached, once an annoying task requiring you to use MEW and application binary interfaces, is now as easy as clicking a button and filling out a simple form.