title: Web3j call a variable in a smart contract
body: <p>I am trying to get the value of a variable in a Smart Contract using solidity, geth and web3j.</p>
  <p>The contract HelloWorld is very simple:</p>
  <pre><code>pragma solidity ^0.6.10;
     contract HelloWorld {
     uint256 public counter = 5;
    
     function add() public {  //increases counter by 1
         counter++;
     }
   
     function subtract() public { //decreases counter by 1
         counter--;
     }
     
     function getCounter() public view returns (uint256) {
         return counter;
     }
  }
  </code></pre>
  <p>web3j does not have a call() function, just only send() which is surprising.</p>
  <p>when I try get counter following the web3j instructions:</p>
  <pre><code>contract.getCounter().send()
  </code></pre>
  <p>I get a transaction receipt rather than the value uint256.</p>
  <p>Can anybody help?</p>
  <p>Thank you</p>
  <p>Will</p>