My code:
exports.deployContract = async function (account, contractData) {
var contract = new web3.eth.Contract(contractData.abi);
const randomID = getUUID();
toReturn = {
contractAddress: "",
};
const mainAccount = {
address: account.address,
privateKey: account.privateKey,
};
// Deploy contract
const executed = await contract
.deploy({ data: contractData.evm.bytecode.object, arguments: [randomID] })
.send({ gas: 900000, from: mainAccount.address });
console.log("Contract deployed to", executed.options.address);
var storedId = "";
await executed.methods
.id()
.call()
.then((result) => {
storedId = result;
console.log("ID: ", result);
});
return {
address: executed.options.address,
someid: storedId,
};
};
When I pass an account created using web3.eth.accounts.create(), contract.deploy().send() failed with the error - "Uncaught Error Error: Returned error: sender account not recognized".
How do I resolve this error?