Ändern Sie den Truffle-Konsolenbefehl, um die Funktion auf dem von Ropsten bereitgestellten Vertrag über Geth auszuführen

Es gibt ein paar unten wiedergegebene Befehle, die ich erfolgreich in verwendet habe truffle console, ausgeführt auf testrpc, die funktionieren und die Antworten hervorrufen, die ich erwarte.

Wie kann ich sie ändern, um sie für anwendbar zu machen ropsten? Wie kann ich sie über die gethKonsole senden?

Der Vertrag, mit dem ich zu interagieren versuche, wurde in dieser Transaktion im Ropsten-Testnetz bereitgestellt .

Den Code des Vertrages finden Sie auf meinem GitHub .

Der erste Befehl, den ich verwenden möchte, besteht darin, die iterationVariable zu erhöhen:

Incrementer.deployed().then(function(instance) {
      meta = instance;
      return meta.increment(1);
})

Als nächstes möchte ich das Ergebnis überprüfen:

Incrementer.deployed().then(function(instance) { 
    meta = instance; 
    return meta.getIteration(); 
})

An dieser Stelle habe ich herausgefunden, dass ich das ABI verwenden muss, aber das ist alles, was ich habe.

Wie kann ich diese Befehle in etwas umwandeln, das ich über die gethKonsole in das ropstenTestnetz senden kann?

Antworten (2)

Wird die Geth-Instanz auf Ropsten unter Verwendung des Standard-RPC-Ports 8545 ausgeführt? Wenn Sie es nicht als Befehlszeilenargument angegeben haben, wird dies der Fall sein. Wenn Sie auch testrpc verwenden, ohne einen Port anzugeben, verwendet testrpc auch 8545. Stellen Sie sicher, dass Sie testrpc beenden, wenn dies der Fall ist. Zwei Anwendungen können nicht denselben Port gleichzeitig verwenden.

Wenn Sie den Port angegeben haben, auf dem die Ropsten Geth-Instanz ausgeführt wird, muss er in der truffle.js-Konfiguration wie hier angegeben geändert werden: http://truffleframework.com/docs/advanced/configuration

Als Randbemerkung sollten Sie die Verwendung des Rinkeby-Testnetzes in Betracht ziehen: https://www.rinkeby.io/ Es ist zuverlässiger und enthält auf dieser einen Seite alles, was Sie zur Verwendung benötigen.

Ich hoffe das hilft.

Ich schätze Ihren Wunsch zu helfen, aber die Frage dreht sich eher darum, wie man einen Befehl von der Truffle-Konsole/testrpc in etwas ändert, das ich ausgeben kann, um über die Geth-Konsole zu ropsten, also beantwortet das, was Sie geschrieben haben, die Frage nicht wirklich
Ah ja, das beantwortet deine Frage nicht wirklich, mein Fehler. Es ist jedoch eine Lösung, wenn Ihr Endziel darin besteht, mit dem Ropsten-Testnetz zu interagieren.

Wie kann ich sie über die Geth-Konsole senden?

Wenn Sie damit meinen, wie man einen Geth-Knoten im Ropsten-Testnetzwerk einrichtet und mit Trüffel mit ihm interagiert, lesen Sie weiter.

Geben Sie im Terminal Folgendes ein:geth --testnet --rpc console

Warten Sie, bis der Knoten vollständig synchronisiert ist. Sie können überprüfen, indem Sie eingeben, eth.syncingob eth.syncing = false fertig ist. (Dieser Teil kann eine Weile dauern)

Überprüfen Sie Ihren http-Endpunkt, er sieht etwa so aus: HTTP-Endpunkt geöffnet url= http://127.0.0.1:8545

Fügen Sie in Ihrer truffle.js-Datei ropsten wie folgt hinzu:

Unter Windows kann es truffle-config.js heißen

networks: {
    development: {
      host: "127.0.0.1",
      port: 7545,
      network_id: "*" // Match any network id
    },
    ropsten: {
        host: "localhost",
        port: 8545,
        network_id: "*",
        gas: 4600000
    }
  }

Wenn Sie noch kein Konto haben, geben Sie es ein personal.newAccount()und folgen Sie den Anweisungen. Gehen Sie dann zu: http://faucet.ropsten.be:3001/ und fügen Sie testnet ether zu Ihrem Konto hinzu

Gehen Sie zurück zum Terminal und geben Sie einpersonal.unlockAccount("your address")

Erstellen Sie eine zweite Terminal-Registerkarte in Ihrem Projektverzeichnis und führen Sie sie austruffle migrate --network ropsten

Vorausgesetzt, Ihr Vertrag und Ihre Migrationen wurden ordnungsgemäß eingerichtet. Ihr Vertrag sollte erfolgreich im Ropsten-Netzwerk bereitgestellt werden.

Auch ein tolles Tutorial dazu: https://medium.com/@guccimanepunk/how-to-deploy-a-truffle-contract-to-ropsten-e2fb817870c1