Ich habe die Schritte im folgenden Link befolgt, um ein lokales Ethereum-Testnetz zu erstellen, aber jetzt möchte ich einen Vertrag für „MyTestNetNode“ bereitstellen:
testrpc war keine gute Option, da test rpc den Status nicht speichert, wenn Sie den Daemon stoppen. Ich muss ein Testnetz mit Geth erstellen, was ich bereits getan habe, und ich möchte einen Vertrag mit Truffle darauf bereitstellen, ohne Fehler zu erhalten. Kann mir jemand helfen?
Sie müssen lediglich die Truffle-Konfigurationsdatei entsprechend Ihrer lokalen Konfiguration ändern:
module.exports = {
networks: {
development: {
host: 'localhost',
port: 8545, //the port of your local testnet
network_id: '*' //any network ID
}
}
}
Darüber hinaus können Sie auch ganache-cli als testrpc-Client verwenden und den Parameter --db
zum Speichern der Datenbank hinzufügen. Auf diese Weise können Sie den Testknoten mit den gespeicherten Daten erneut ausführen, anstatt jederzeit von neuem zu beginnen
Meiner Erfahrung nach ist es einfacher, Testnetzwerke wie Rinkeby oder Ropsten zu verwenden. Ihr Status würde für die spätere Verwendung gespeichert. Sie müssen nur Ether für diese Netzwerke haben. Suchen Sie zum Beispiel nach Wasserhahn für Rinkeby und Sie werden eine Website finden, die Ihnen einen gefälschten Ether zur Verwendung in diesem Netzwerk zur Verfügung stellt.
Stellen Sie dann die truffle-config wie folgt ein:
rinkeby: {<
provider: () => new HDWalletProvider(mnemonic, `https://rinkeby.infura.io/v3/${INFURA_KEY}`),
network_id: 4, // Rinkeby's id
gas: 5500000, // Rinkeby has a lower block limit than mainnet
confirmations: 1, // # of confs to wait between deployments. (default: 0)<
timeoutBlocks: 200, // # of blocks before a deployment times out (minimum/default: 50)
skipDryRun: true // Skip dry run before migrations? (default: false for public nets )
}
Und dann laufentruffle deploy --network rinkeby
Hinweis: Sie können hier auch Ihr eigenes privates Netzwerk definieren. Definieren Sie einfach einen Namen für Ihr Netzwerk und weisen Sie die IP, den Port und andere Dinge zu. Hier verwende ich Infra, um auf Rinkeby zuzugreifen, was wiederum für Entwicklungszwecke einfacher ist.
Ismael