首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:节点错误:{“代码”:-32015,“数据”:“还原0x",”消息“:”VM执行错误“}

错误:节点错误:{“代码”:-32015,“数据”:“还原0x",”消息“:”VM执行错误“}
EN

Ethereum用户
提问于 2019-05-02 06:09:29
回答 1查看 2.7K关注 0票数 3

我在Kovan Etherium testnet上部署了智能契约。之后,我尝试使用web3 1.0.0与智能契约方法交互。下面是我的节点js代码:

代码语言:javascript
复制
var Web3 = require('web3');
var api = myapikey;
const testnet = 'https://kovan.infura.io/'+ api;
const web3 = new Web3(new Web3.providers.HttpProvider(testnet))

function a (){
        const abi =[{ abi json}];
        var MyContract = new web3.eth.Contract(abi,'0xf...');
        console.log(MyContract.address);
        console.log(MyContract.jsonInterface);
        MyContract.methods.buyCoordinator(1,'https://cdn.pixabay.com/photo/2016/02/17/19/08/lotus-1205631_960_720.jpg','abc').call({from:'0x7...'},(error, result) => {
                console.log(result);
                console.log(error);
        });
}

a();

它返回null并给出以下错误:

错误:节点错误:{“代码”:-32015,“数据”:“还原0x",“消息”:“VM执行错误”}} (/home/administrator/node_modules/web3-providers/dist/web3-providers.cjs.js:114:18) at HttpProvider._callee$,(/home/administrator/node_modules/web3-providers/dist/web3-providers.cjs.js:708:61) at tryCatch (/home/administrator/node_modules/regenerator-runtime/runtime.js:62:40) at Generator.invoke C2 /process/next_tick.js:188:7)

有人能告诉我这个错误的意思吗?我哪里搞错了?以及如何确认智能合同是否相互作用?

EN

回答 1

Ethereum用户

发布于 2019-05-02 07:59:04

使用发送而不是调用

myContract.methods.myMethod([param1[,param2]]).send(期权)

发送->将向智能契约发送事务并执行其方法。注意,这可能会更改智能契约状态。调用->将调用“常量”方法,并在EVM中执行其智能契约方法,而不发送任何事务。注:调用不能更改智能契约状态。

如果它是一个应付款函数,并且需要以太,那么它也可能需要一个选项中的“值”。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/70313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档