Ich bin ein Truffle-Benutzer. Ich möchte einen Vertrag erstellen und diesen testen. Beim Testen möchte ich drei Knoten einrichten, sie verknüpfen, auf den Vertrag zugreifen und ihn testen. Ist das möglich? Oder mache ich seltsame Dinge? Bitte sagen Sie mir ggf.
Ich habe arrangiert. Ich habe den admin.addPeer
Befehl verwendet, verlinke sie.
truffle migrate
Als Nächstes habe ich den Befehl ausgeführt, um diesen Vertrag auf node1 bereitzustellen .
Als Nächstes habe ich den Befehl ausgeführt, um eine App zu erstellen, die ich mit Truffle auf node1 erstellt habe truffle build
.
Und ich möchte die App auf node2, node3 erstellen, dann möchte ich auf denselben Vertrag zugreifen. ← Wie mache ich das?
Ich glaube, ich verstehe, was du vorhast.
Kann man mit Sicherheit sagen, dass Sie nur in einem etwas realistischeren Netzwerk mit mehr als einem teilnehmenden Knoten und mehr als einem teilnehmenden Client testen möchten?
Wenn ja, sollten Sie in der Lage sein, die Bedenken zu trennen.
Private Chain Sie können eine private Chain mit drei Knoten einrichten. Wenn die Kette wie erwartet funktioniert, wird der Vertrag, den Sie auf einem Knoten bereitstellen, vom Miner (jeder Knoten oder Knoten, die diese Kette abbauen) abgebaut und schließlich auf allen Knoten bereitgestellt, wenn er abgebaut wird. Gleiches gilt für die Transaktionen und Ereignisse, falls vorhanden. Jeder Knoten in einem Ethereum-Netzwerk hat die gleiche Ansicht der Konsensdaten. Es ist einfach nicht möglich, den Vertrag nicht auf allen Knoten bereitzustellen.
Der Build-Prozess von Front End Truffle (2.x) führt Bootstrap-Code mit Ihrer App zusammen und legt die zusammengeführte Datei im ./build
Ordner ab. Es geht nicht darum, wie dieser Code in den Browser geladen wird.
Das Front-End wird normalerweise von einem konsistenten Standort aus bereitgestellt, sodass die Verwendung Ihrer Build-Workstation als Webserver eine gültige Option ist. Sie möchten RPC auf dem Standardport 8545 oder zumindest auf allen Clients konsistent halten, da überall dasselbe Frontend funktionieren muss. Ich würde bei der Standardeinstellung bleiben, damit es eines Tages im Testnet oder Mainnet für Leute funktioniert, die Standardeinstellungen verwenden. Man kann mit Sicherheit sagen, dass Ihr Frontend einen Ethereum-Knoten mit RPC auf dem Standardport benötigt.
Ich hoffe es hilft.
rpc
ist Remoteprozeduraufruf. Es hat eine Reihe von Eigenschaften wie aktivieren/deaktivieren, die zu überwachende Adresse und den abzuhörenden Port (die rpcport
).
Komodoro