title: Which provider should I choose ? Web3Provider ? InfuraProvider ? JsonRPCProvider?
body: <p>I have a question : which provider should I choose for interacting with a contract on the mainnet and why ?</p>
  <p>It seems like Web3Provider is easier to use, are there any drawbacks ?</p>
  <p>Thank you for your answers.</p>