:Контракт не был развернут в обнаруженной сети (несоответствие сети/артефакта) перепробовал все ссылки, но не помогло

мой код APP.js

App = {
  web3Provider: null,
  contracts: {},
  account: 0x0,

  init: function() {
    return App.initWeb3();
  },

  initWeb3: function() {
    web3.eth.defaultAccount=web3.eth.accounts[0]
    // Initialize web3 and set the provider to the testRPC.
    if (typeof web3 !== 'undefined') {
      App.web3Provider = web3.currentProvider;
      web3 = new Web3(web3.currentProvider);
    } else {
      // set the provider you want from Web3.providers
      App.web3Provider = new Web3.providers.HttpProvider('http://localhost:8545');
      web3 = new Web3(App.web3Provider);
    }
    App.displayAccountInfo();
    return App.initContract();
  },

  displayAccountInfo: function() {
    web3.eth.getCoinbase(function(err, account) {
      if (err === null) {
        App.account = account;
        $("#account").text(account);
        web3.eth.getBalance(account, function(err, balance) {
          if (err === null) {
            $("#accountBalance").text(web3.fromWei(balance, "ether") + " ETH");
          }
        });
      }
    });
  },

  initContract: function() {
    $.getJSON('ChainList.json', function(chainListArtifact) {
      // Get the necessary contract artifact file and use it to instantiate a truffle contract abstraction.
      App.contracts.ChainList = TruffleContract(chainListArtifact);

      // Set the provider for our contract.
      App.contracts.ChainList.setProvider(App.web3Provider);

      // Retrieve the article from the smart contract
      return App.reloadArticles();
    });
  },

  reloadArticles: function() {
    // refresh account information because the balance may have changed
    App.displayAccountInfo();

    App.contracts.ChainList.deployed().then(function(instance) {
      return instance.getArticle.call();
    }).then(function(article) {
      if (article[0] == 0x0) {
        // no article
        return;
      }

      // Retrieve and clear the article placeholder
      var articlesRow = $('#articlesRow');
      articlesRow.empty();

      // Retrieve and fill the article template
      var articleTemplate = $('#articleTemplate');
      articleTemplate.find('.panel-title').text(article[1]);
      articleTemplate.find('.article-description').text(article[2]);
      articleTemplate.find('.article-price').text(web3.fromWei(article[3], "ether"));

      var seller = article[0];
      if (seller == App.account) {
        seller = "You";
      }

      articleTemplate.find('.article-seller').text(seller);

      // add this new article
      articlesRow.append(articleTemplate.html());
    }).catch(function(err) {
      console.log(err.message);
    });
  },

  sellArticle: function() {
    // retrieve details of the article
    var _article_name = $("#article_name").val();
    var _description = $("#article_description").val();
    var _price = web3.toWei(parseInt($("#article_price").val() || 0), "ether");

    if ((_article_name.trim() == '') || (_price == 0)) {
      // nothing to sell
      return false;
    }

    App.contracts.ChainList.deployed().then(function(instance) {
      return instance.sellArticle(_article_name, _description, _price, {
        from: App.account,
        gas: 500000
      });
    }).then(function(result) {
      App.reloadArticles();
    }).catch(function(err) {
      console.error(err);
    });
  },
};

$(function() {
  $(window).load(function() {
    App.init();
  });
});

Мой код Truffle.js

module.exports = {
  networks: {
    development: {
      host: "localhost",
      port: 8545,
      network_id: "*" // Match any network id
    }
  }
};

я пробовал следовать за thigs бесполезно

1) мы полностью удалили папку сборки и

и перезапустите

трюфель мигрировать --reset

(не удалось)

2) Я использовал две команды для проверки повторной компиляции и бесполезного развертывания.

компиляция трюфеля миграция трюфеля

(бесполезно)

3) Может ли кто-нибудь объяснить, что говорит эта ошибка? что такое артефакты в эфириуме мне ничего не помогло помогите пожалуйста

Привет, Венкатеш! Чтобы получить потенциально более полный ответ, поделитесь кодом развертывания из migrationsпапки.

Ответы (1)

Порт разработки Truffle по умолчанию 9545, как в

✗ truffle develop
Truffle Develop started at http://127.0.0.1:9545/

Accounts:
(0) 0x627306090abab3a6e1400e9345bc60c78a8bef57
...

Чтобы выполнить локальное развертывание в среде разработки Truffle, попробуйте следующее:

  • поставьте 9545 в качестве порта для developmentсети
  • запустить truffle developв одном терминале
  • беги truffle migrate --reset --network developmentв другом
Привет, я использую testrpc для первого тестирования, упоминается, что он указывает порт 8545 после запуска команды testrpc. Теперь, если я изменю порт в трюфеле, это может вызвать некоторые проблемы, я думаю, помогите пожалуйста.
Нет проблем, мы докопаемся до сути. Но, пожалуйста, сначала попробуйте метод, описанный выше.
Я пытался, но теперь он говорит об ошибке rpc. Если вы не возражаете, я дам ссылку на github, вы можете загрузить и развернуть один раз, используя testrpc github.com/chainskills/chainlist/releases/tag/…
Пожалуйста, попробуйте описать здесь свои пробы и ошибки, чтобы другие поняли, что происходит на вашей стороне, и вместе придумали решение — может быть полезно немного больше, чем просто «ошибка rpc». Это не значит, что вы можете сказать: «О, это не работает, идите, ребята, проверьте мой код» и успокойтесь. Ну, вы можете, но это не путь StackExchange. Ожидается, что ваш вклад будет не меньше, чем от других участников, если вы хотите, чтобы проблема была решена. Только что попробовал развернуть ваш код в сети разработки трюфелей — все в порядке, просто измените порт на 9545.
Спасибо. Это сработало при использовании метамаски и только трюфеля.
Большой! Вы можете развернуть аналогичным образом тестовую сеть, такую ​​​​как Rinkeby. Удовлетворяет ли это ваши потребности в развитии и решает ли проблему?