Ошибка при попытке развернуть контракт с узла js с помощью трюфельного контракта - PullRequest
1 голос
/ 21 мая 2019

Я получаю ошибку, я следую этой документации: https://www.npmjs.com/package/truffle-contract

Каждый раз, когда я вызываю функцию развертывания, я получаю эту ошибку.

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 () называется

Ошибка: необработанная ошибка rejectionNode: {"message": "Метод [объект Object] не поддерживается.", "code": - 32000, "data": {"stack ":" Ошибка: метод [object Object] не поддерживается. \ n в GethApiDouble.handleRequest (C: \ Program Files \ 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 Files \ 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 Files \ 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 Files \ WindowsApps \ Ganache_2.0.0.0_x64__zh355ej5cj694 \ app \ resources \ app.asar \ node_modules \ ganache-core \

Ответы [ 2 ]

0 голосов
/ 12 июля 2019

Проблема связана с версией web3, в настоящее время она не поддерживается трюфелем. При установке Web3 устанавливается версия 1.0.0 (бета-версия), а трюфель работает с 0.20 (стабильная версия). Чтобы решить эту проблему, удалите папку node_modules и отредактируйте версию web3 в папке package.json, затем выполните команду npm install и перестроите контракты с командой > build в трюфеле. API должен работать. Если вы все еще хотите использовать версию 1.0.0, я предлагаю вам прочитать эту статью , я еще не тестировал ее.

0 голосов
/ 09 июня 2019

Я бы сказал, чтобы начать с проверки версии вашего пакета web3 как , упомянутой командой разработчиков , что текущая версия трюфеля не имеет поддержки, кроме бета-37. Так что, если это так, вы можете понизить пакет, чтобы решить проблему.

...