You can use the following instructions to deploy OpenZeppelin TokenTimelock with Remix
I deployed the example SimpleToken ERC20 to Ropsten testnet and then deployed TokenTimelock. I recommend deploying on a testnet first before deploying to mainnet.
Remix documentation: https://remix.readthedocs.io
For the new version of Remix you will need to activate some plugins (if you haven’t already).
Activate “Solidity Compiler” module plugin
Activate “Deploy & Run Transactions” module plugin
From the home tab, File: “Import From”: GitHub the following files: (TokenTimelock and its dependencies)
In the Remix File Explorer select the smart contract, TokenTimelock.sol
Select the Solidity Compiler module (Activate the module if you haven’t already)
Choose a compiler e.g. 0.5.9+commit.e560f70d
The compiler will advise if you are missing any imported contracts or libraries
Select the “Deploy & Run Transactions” module (Activate the module if you haven’t already)
If using MetaMask, change the Environment to InjectedWeb3.
Recommend always first deploying to a testnet
Select the contract and specify any constructor values.
For TokenTimelock specify:
token address e.g. ERC20 token address
beneficiary address e.g. External account to release tokens to
releaseTime (seconds since unix epoch) e.g. 1569925800 (you can use an online converter such as https://www.epochconvert.com/)
Press Transact to deploy
Transfer the tokens to lock up for the beneficiary to the deployed TokenTimelock contract. I used Remix to transfer the tokens.
After the releaseTime has passed, anyone can call release on the deployed TokenTimelock contract, which transfers the tokens to the beneficiary.
I used Remix to call release.
Let me know if you have any problems with the instructions above.