:Der Vertrag wurde nicht im erkannten Netzwerk bereitgestellt (keine Übereinstimmung zwischen Netzwerk und Artefakt), alle Links ausprobiert, aber nicht geholfen

mein APP.js- Code

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();
  });
});

Mein Truffle.js-Code

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

Ich habe folgendes versucht, kein Zweck

1) Wir haben den Build-Ordner vollständig gelöscht und

und erneut ausführen

Truffle-Migration --reset

(nicht gelungen)

2) Ich habe die beiden Befehle verwendet, um zu überprüfen, ob sie neu kompiliert und bereitgestellt werden, ohne dass sie verwendet werden

Trüffel kompilieren Trüffel migrieren

(keine Verwendung)

3) Kann jemand erklären, was dieser Fehler sagt? Was sind Artefakte im Etherium ? Nichts hat mir geholfen. Bitte helfen Sie mir

Hallo Venkatesh! Um eine möglicherweise vollständigere Antwort zu erhalten, teilen Sie bitte Ihren Bereitstellungscode aus migrationsdem Ordner mit.

Antworten (1)

Der Standardentwicklungsport von Truffle ist 9545, wie in

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

Accounts:
(0) 0x627306090abab3a6e1400e9345bc60c78a8bef57
...

Um lokal in der Entwicklungsumgebung von Truffle bereitzustellen, versuchen Sie Folgendes:

  • Geben Sie 9545 als Port für developmentdas Netzwerk ein
  • laufen truffle developin einem Terminal
  • truffle migrate --reset --network developmentin einem anderen laufen
HI Ich verwende testrpc zum ersten Testen, es wird erwähnt, dass es nach dem Ausführen des Befehls testrpc auf Port 8545 aufgeführt ist. Wenn ich jetzt den Port in der Trüffel ändere, kann dies zu Problemen führen, denke ich. Bitte helfen Sie
Keine Probleme, wir gehen der Sache auf den Grund. Versuchen Sie aber bitte zuerst die oben beschriebene Methode.
Ich habe es versucht, aber es sagt jetzt RPC-Fehler. Wenn es Ihnen nichts ausmacht, gebe ich den Github-Link. Können Sie ihn einmal mit testrpc herunterladen und bereitstellen? github.com/chainskills/chainlist/releases/tag/…
Bitte versuchen Sie, Ihre Versuche und Irrtümer hier zu beschreiben, damit andere verstehen, was auf Ihrer Seite passiert, und gemeinsam eine Lösung finden - ein bisschen mehr als "rpc error" könnte hilfreich sein. Es ist nicht so, dass Sie sagen können: "Oh, es funktioniert nicht, gehen Sie und überprüfen Sie meinen Code, Jungs" und entspannen. Nun, Sie können, aber das ist nicht der Weg von StackExchange. Es wird erwartet, dass Ihr Beitrag definitiv nicht geringer ist als der von anderen Teilnehmern, wenn Sie das Problem gelöst haben möchten. Ich habe gerade versucht, Ihren Code im Truffle-Entwicklungsnetzwerk bereitzustellen - es ist in Ordnung, ändern Sie einfach den Port in 9545.
Danke Es funktionierte bei der Verwendung von Metamask und nur Trüffel
Großartig! Sie können auf ähnliche Weise wie in einem Testnet wie Rinkeby bereitstellen. Erfüllt dies Ihre Entwicklungsanforderungen und löst das Problem?