I have a standard erc20 token, whats the best way if i want users to stake my token? I asssume I have to deploy a staking contract right? Can anyone link me a tutorial or tell me a better way on how to implement staking?