Sending transaction to Azure Blockchain on Quorom Protocol giving EVM error using web3

%3CLINGO-SUB%20id%3D%22lingo-sub-862475%22%20slang%3D%22en-US%22%3ESending%20transaction%20to%20Azure%20Blockchain%20on%20Quorom%20Protocol%20giving%20EVM%20error%20using%20web3%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-862475%22%20slang%3D%22en-US%22%3E%3CP%3EHello%20guys%2C%20please%20I%20need%20help%20with%20the%20right%20code%20snippet%20to%20send%20transaction%2Fstate%20change%20to%20the%20blockchain.%20I%20can%20make%20calls%20but%20sending%20transaction%20is%20always%20giving%20me%20an%20error.%20Either%20%22unknown%20account%22%20if%20I%20do%20just%20web3.eth.sendTransaction%20or%26nbsp%3B%22Error%3A%20Transaction%20has%20been%20reverted%20by%20the%20EVM%3A%20%22%20when%20I%20use%20web3.eth.sendSignTransaction.%20Also%2C%20how%20do%20I%20send%20transactions%20as%20owner%20to%20a%20contract%20I%20deployed%20since%20no%20password%20was%20provided%20for%20the%20account%20that%20deployed%20the%20contract%20to%20the%20blockchain.%20I%20was%20able%20to%20get%20the%20privateKey%20from%20the%20mnemonic%20phrase%20generated%20when%20I%20connected%20my%20VSCode%20to%20the%20Azure%20Blockchain%20service%20subscription.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20also%20checked%20pending%20transanctions%20and%20it%20is%2080.%20Why%20is%20my%20transactions%20not%20being%20mined.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-javascript%22%3E%3CCODE%3Eweb3.eth.getTransactionCount(account).then(async%20(txCount)%20%3D%26gt%3B%20%7B%0A%0A%20%20try%20%7B%0A%20%20%20%20%20%20let%20newaccount%20%3D%20await%20web3.eth.personal.newAccount('XXXXX')%0A%20%20%20%20%20%20web3.eth.defaultAccount%20%3D%20newaccount%2C%0A%20%20%20%20%20%20console.log(%22newaccount%20%26gt%3B%26gt%3B%20%22%2C%20newaccount)%0A%20%20%20%20%20%20let%20unlockedAcct%20%3D%20await%20web3.eth.personal.unlockAccount(newaccount%2C'XXXXX'%2C10000)%0A%20%20%20%20%20%20console.log(%22unlockedAcct%20%26gt%3B%26gt%3B%20%22%2C%20unlockedAcct)%0A%20%20%20%20%20%20const%20txObject%20%3D%20%7B%0A%20%20%20%20%20%20%20%20nonce%3A%20txCount%2C%0A%20%20%20%20%20%20%20%20from%3A%20%20web3.eth.defaultAccount%2C%0A%20%20%20%20%20%20%20%20to%3A%20address%2C%0A%20%20%20%20%20%20%20%20data%3A%20functionABI%2C%0A%20%20%20%20%20%20%20%20gasPrice%3A%20web3.utils.toHex('0')%2C%0A%20%20%20%20%20%20%20%20gasLimit%3A%20web3.utils.toHex('3000000')%2C%0A%20%20%20%20%20%20%20%20chainid%3A%201425%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20let%20signedTxn%20%3D%20await%20web3.eth.personal.signTransaction(txObject%2C%22XXXXX%22)%0A%20%20%20%20%20%20console.log(%22signedTxn%20%26gt%3B%26gt%3B%20%22%2C%20signedTxn)%0A%20%20%20%20%20%20let%20txnHash%20%3D%20await%20web3.eth.sendTransaction(%20web3.eth.defaultAccount%2C%20%20signedTxn.raw)%0A%20%20%20%20%20%20console.log(%22txnHash%20%26gt%3B%26gt%3B%20%22%2C%20txnHash)%0A%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20web3.eth.sendTransaction(txObject%2Cfunction(%20transactionHash)%20%7B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20console.log(transactionHash)%3B%20%0A%20%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20%20%20const%20tx%20%3D%20new%20EthereumTx(txObject)%0A%20%20%20%20%20%20%20%20tx.sign(privateKey1)%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20const%20serializedTx%20%3D%20tx.serialize()%0A%20%20%20%20%20%20%20%20%2F%2Fconsole.log(tx)%0A%20%20%20%20%20%20%20%20const%20raw%20%3D%20'0x'%20%2B%20serializedTx.toString('hex')%0A%20%20%20%20%20%20%20%20console.log(raw)%0A%0A%20%20%20%20%20%20%20%20%20%20web3.eth.sendSignedTransaction(raw%2C%20(err%2C%20transactionHash)%3D%26gt%3B%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('txHash%3A'%2C%20transactionHash)%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('Error%3A'%2C%20err)%3B%7D)%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%7D%20catch%20(error)%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log('Error%20'%2Cerror)%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D)%3B%20%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-862475%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EBlockchain%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EEthereum%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
New Contributor

Hello guys, please I need help with the right code snippet to send transaction/state change to the blockchain. I can make calls but sending transaction is always giving me an error. Either "unknown account" if I do just web3.eth.sendTransaction or "Error: Transaction has been reverted by the EVM: " when I use web3.eth.sendSignTransaction. Also, how do I send transactions as owner to a contract I deployed since no password was provided for the account that deployed the contract to the blockchain. I was able to get the privateKey from the mnemonic phrase generated when I connected my VSCode to the Azure Blockchain service subscription.

 

I also checked pending transanctions and it is 80. Why is my transactions not being mined.

 

 

 

 

web3.eth.getTransactionCount(account).then(async (txCount) => {

  try {
      let newaccount = await web3.eth.personal.newAccount('XXXXX')
      web3.eth.defaultAccount = newaccount,
      console.log("newaccount >> ", newaccount)
      let unlockedAcct = await web3.eth.personal.unlockAccount(newaccount,'XXXXX',10000)
      console.log("unlockedAcct >> ", unlockedAcct)
      const txObject = {
        nonce: txCount,
        from:  web3.eth.defaultAccount,
        to: address,
        data: functionABI,
        gasPrice: web3.utils.toHex('0'),
        gasLimit: web3.utils.toHex('3000000'),
        chainid: 1425
      }
      let signedTxn = await web3.eth.personal.signTransaction(txObject,"XXXXX")
      console.log("signedTxn >> ", signedTxn)
      let txnHash = await web3.eth.sendTransaction( web3.eth.defaultAccount,  signedTxn.raw)
      console.log("txnHash >> ", txnHash)
      

      web3.eth.sendTransaction(txObject,function( transactionHash) {
        
          console.log(transactionHash); 
       });

        const tx = new EthereumTx(txObject)
        tx.sign(privateKey1)
    
        const serializedTx = tx.serialize()
        //console.log(tx)
        const raw = '0x' + serializedTx.toString('hex')
        console.log(raw)

          web3.eth.sendSignedTransaction(raw, (err, transactionHash)=>{
            console.log('txHash:', transactionHash)
            console.log('Error:', err);})
        
      } catch (error) {
          console.log('Error ',error)
      }
    }); 

 

 

 

 

0 Replies