我遇到错误,正在关注此文档: https://www.npmjs.com/package/truffle-contract
每当我调用deploy函数时,都会收到此错误。
import Web3 from 'web3';
import propertyContractJson from './contracts/PropertyContract.json';
var provider = new Web3.providers.HttpProvider("http://localhost:8545");
var contract = require("truffle-contract");
var MyContract = contract({
abi: propertyContractJson,
address: '0x0A08a58433108f1a8dF080Ef552f137b2f7b8ce0' // optional
// many more
})
MyContract.setProvider(provider);
var deployed;
MyContract.deployed().then(function(instance) {
deployed = instance;
return instance;
}).then(function(result) {
// Do something with the result or continue with more transactions.
});
以下是调用deployed()方法时遇到的错误
错误:未处理的拒绝节点错误:{“消息”:“方法[对象 对象]不支持。“,”代码“:-32000,”数据“:{”堆栈“:”错误:方法 不支持[object Object]。\ n位于GethApiDouble.handleRequest (C:\ Program 文件\ WindowsApps \ Ganache_2.0.0.0_x64__zh355ej5cj694 \ app \ resources \ app.asar \ node_modules \ ganache-core \ lib \ subproviders \ geth_api_double.js:67:16)\ n接下来(C:\ Program 文件\ WindowsApps \ Ganache_2.0.0.0_x64__zh355ej5cj694 \ app \ resources \ app.asar \ node_modules \ ganache-core \ node_modules \ web3-provider-engine \ index.js:116:18)\ n 在GethDefaults.handleRequest(C:\ Program 文件\ WindowsApps \ Ganache_2.0.0.0_x64__zh355ej5cj694 \ app \ resources \ app.asar \ node_modules \ ganache-core \ lib \ subproviders \ gethdefaults.js:15:12)\ n 在下一个(C:\ Program 文件\ WindowsApps \ Ganache_2.0.0.0_x64__zh355ej5cj694 \ app \ resources \ app.asar \ node_modules \ ganache-core \
答案 0 :(得分:0)
问题来自web3的版本,松露当前不支持。
当您安装Web3时,安装的版本是1.0.0(测试版),而松露与0.20(稳定的版本)一起使用
要解决此问题,请删除node_modules文件夹并在package.json文件夹中编辑web3的版本,然后运行命令npm install
并在松露中使用> build
命令重建合同。该API应该可以正常工作。如果您仍然想使用1.0.0版,请您阅读this article,但尚未测试。
答案 1 :(得分:-1)
我要说的是,首先要由开发人员团队将您的web3软件包的版本检查为mentioned,以了解当前松露的当前版本不支持beta.37以上的版本。因此,在这种情况下,您可能需要降级软件包以解决该问题。