I’m new to the block chain development.
I’m looking for ERC-20 token implementation with Timevesting.
Below is my requirements regarding the release tokens:
Seed Sale: 600,000,000 tokens (10% released from day one, 9% monthly for 10 subsequent months)
Private Sale: 1,800,000,000 tokens (15% released from day one, 17% monthly for 5 subsequent months)
Early Investors: 800,000,000 (6 month lock at which point 25% released, 12.5% released every 3 months for 18 subsequent months)
Now I’m trying to manage this thing using Openzeppelin’s token investing feature.
However, my concern is to call the release method every time the release period has expired.
So, is there any way to automatically release these tokens once the release period has expired and they will be credited to the recipient’s address?
Please suggest the approach.
In this case we have multiple beneficiaries and also vesting should be apply on them accordingly.
Unless you were to add in functionality to your token which restricted transfer until a certain date had passed, then a transaction to release tokens per holder is required. (as we can’t loop through a large number of holders to release as we would run out of gas).
My preference is that a token should only have functionality that is required for the life of the token and not contain short term functionality. So any locking should be done in a separate contract.
You could look at the vault idea in PostDeliveryCrowdsale to do some of your locking.