title: How should users interact with a smart contract?
body: <p>When deploying a smart contract how can I let users in my own platform (mobile or web) interact with it? 
  Let's say I have the following contract: </p>
  
  <pre><code>contract Test {
      event Log(address addr);
  
      function logMe () public {
          Log(msg.sender);
      }
  }
  </code></pre>
  
  <p>In order to use it I must have access to the private and public keys of the user. Is it possible to allow users to interact with the blockchain through their own accounts without the need to have their credentials?</p>