I'm new to solidity and trying to deploy a ERC20 token using openzepplin.There is one thing that doesn't make sense to me is the context.sol file. From the comment section it's seem like the main function of the context.sol is to implement a GSN compatible contract so instead of using msg.sender you use _msgSender()
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
From my limited experience with solidity it seem doing exactly the same thing with msg.sender.