I get this error when I deployed smart contract to my private chain.

Error: Node error: {"code":-32000,"message":"unknown account"}

This is my web3.js code.

 const bytecode = "0x608060405234801561001057600080fd5b506040516020806101018339810180604052602081101561003057600080fd5b8101908080519060200190929190505050806000819055505060aa806100576000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063c412eaba146037578063ca6158cb146053575b600080fd5b603d606f565b6040518082815260200191505060405180910390f35b60596078565b6040518082815260200191505060405180910390f35b60008054905090565b6000548156fea165627a7a7230582042b7071573f040950b28decc097069f3f208055692800cf2260019f40904af610029"
    var itemContract = new this.props.web3.eth.Contract([{"constant":true,"inputs":[],"name":"getItem","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"itemId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"id","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]);

  data: bytecode,
  from: decryptEtherAccount.address,
  gas: 0,
  gasPrice: '0',
}).on('error', (error) => {
    console.log("Error: ", error);
}).on('transactionHash', (transactionHash) => {
    console.log("TxHash: ", transactionHash);
}).on('receipt', (receipt) => {
  console.log("Address: ", receipt.contractAddress)
}).then((newContractInstance) => {
}).catch(function(error) {

Could you give me any advise why I am getting this error, please?

  • Either ecryptEtherAccount.address is an illegal address, or you haven't unlocked this account on the node that you're connected to. – goodvibration Sep 28 '19 at 6:45
  • @goodvibration I have made ether account from web3.eth.accounts.decrypt() function. I have tried unlock ether account, but it was not succeeded. Do you know any way to unlock account? – gnxvw Sep 28 '19 at 7:25
  • web3js.readthedocs.io/en/v1.2.1/… (this one is for web3 v1.2.1, so make sure to read the one corresponding to the web3 version that you're using). – goodvibration Sep 28 '19 at 7:49

In my case, I used private chain, so I could deploy it when I deploy from node address.

If you want to deploy from any other address, it is better to use sendTransaction to deploy contract.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.