const Web3 = require('web3');
const fs = require('fs')
const web3 = new Web3("ws://localhost:7545");
const contract_address = "0x7484d32e891817702c5d7c764dBF7e592000b415";
async function web3Contract() {
const contract_abi = fs.readFileSync('./build/contracts/Bottle.json', 'utf8')
const abi = JSON.parse(contract_abi).abi;
// console.log(abi);
const Bottle = await new web3.eth.Contract(abi, contract_address);
const accounts = await web3.eth.getAccounts();
Bottle.methods.setName("Palm").send({from:accounts[0]});
const greeting = await Bottle.methods.getGreeting().call();
console.log(greeting);
}
async function run() {
try {
await web3Contract();
} catch (err) {
console.log('Your error is this - ' , err);
} finally {
console.log('finally');
}
}
run();
pragma solidity >=0.5.16 <0.9.0;
contract Bottle {
// setName and getGreeting. — set name is to set the name inside the smart contract
// and store it on the blockchain, and getGreeting should say “Hello Name” where name is what’s stored on the blockchain.
string newName;
function setName(string memory _name) public returns(string memory) {
newName = _name;
return newName;
}
function getGreeting() view public returns(string memory){
return newName;
}
}
I'm getting this error "Error: Returned error: VM Exception while processing transaction: revert".
I'm using the contract address that truffle gives me when I migrate it. I'm also using ganache and it is showing these transactions going through. Also I console.log(abi) and it is correctly showing the abi. Not sure how to fix this.
Via Active questions tagged javascript - Stack Overflow https://ift.tt/2FdjaAW
Comments
Post a Comment