title: web3 gives " Error: Returned error: invalid sender" when broadcasting transaction
body: <p>I am new to web3 and ethereum blockchain. I tried broadcasting a transaction using the following code but it always gives me an invalid sender error.The sample code is shown below.</p>
  <pre><code>const Tx = require('ethereumjs-tx').Transaction;
  
  const Web3 = require('web3');
  var url = 'https://ropsten.infura.io/v3/XXX';
  const web3 = new Web3(new Web3.providers.HttpProvider(url));
  
  
  const account1 = '0xaB7BXXX';
  web3.eth.defaultAccount =  account1;
  
  
  
  const privatekey1 = Buffer.from('fee069363aXXX','hex');
  
  
  web3.eth.getTransactionCount(account1, (err, txCount) =&gt; {
  
          data = &quot;0xXXX&quot;;
          const txObject = {
              nonce:    web3.utils.toHex(txCount),
              gasLimit: web3.utils.toHex(200000), 
              gasPrice: web3.utils.toHex(web3.utils.toWei('10', 'gwei')),
              data: data
                   }
          const tx = new Tx(txObject)
          tx.sign(privatekey1)
  
          const serializedTx = tx.serialize()
          const raw = '0x' + serializedTx.toString('hex')
  
  
          web3.eth.sendSignedTransaction(raw, (err, txHash) =&gt; {
              console.log('err:', err, 'txHash:', txHash)
          })
      });
  </code></pre>
  <p>The error occurs at the below line</p>
  <pre><code>web3.eth.sendSignedTransaction(raw, (err, txHash) =&gt; {
              console.log('err:', err, 'txHash:', txHash)
          })
      });
  
  ERROR:
  err: Error: Returned error: invalid sender
      at Object.ErrorResponse (/home/vishnu/node_modules/web3-core-helpers/src/errors.js:29:16)
      at /home/vishnu/node_modules/web3-core-requestmanager/src/index.js:140:36
      at XMLHttpRequest.request.onreadystatechange (/home/vishnu/node_modules/web3-providers-http/src/index.js:96:13)
      at XMLHttpRequestEventTarget.dispatchEvent (/home/vishnu/node_modules/xhr2-cookies/dist/xml-http-request-event-target.js:34:22)
      at XMLHttpRequest._setReadyState (/home/vishnu/node_modules/xhr2-cookies/dist/xml-http-request.js:208:14)
      at XMLHttpRequest._onHttpResponseEnd (/home/vishnu/node_modules/xhr2-cookies/dist/xml-http-request.js:318:14)
      at IncomingMessage.&lt;anonymous&gt; (/home/vishnu/node_modules/xhr2-cookies/dist/xml-http-request.js:289:61)
      at emitNone (events.js:111:20)
      at IncomingMessage.emit (events.js:208:7)
      at endReadableNT (_stream_readable.js:1064:12)
      at _combinedTickCallback (internal/process/next_tick.js:138:11)
      at process._tickCallback (internal/process/next_tick.js:180:9) txHash: undefined
  </code></pre>
  <p>Please help me know how to fix this problem. Thanks.</p>