Ich versuche, ein privates Netzwerkkonsotium in Azure zu erstellen, indem ich diesem Tutorial folge:
Problem 1 - Solidity kann keine Verbindung zum privaten Netzwerk herstellen
Die Verbindung mit dem Netzwerk über MetaMask funktioniert einwandfrei, sodass ich Konten erstellen und Guthaben von einem Konto auf das andere übertragen kann. Allerdings kann ich mit dem Solidity-Browser keine Verbindung zu meinem Netzwerk herstellen (daher kann ich keine Verträge bereitstellen) wegen des https->http-Problems. Das Ausführen von Solidity vom lokalen Host funktioniert ebenfalls nicht. Dort steht, dass die Konten gesperrt sind. Das Ziel hier ist es , meine eigenen Verträge einfach in diesem privaten Netzwerk einzusetzen .
Problem 2 - Die Verbindung von Geth oder Mist von Localhost funktioniert nicht
Da der Solidity- Browser nicht funktioniert, habe ich andere Möglichkeiten ausprobiert, um eine Verbindung zum Netzwerk herzustellen und meine Verträge bereitzustellen. Bei der Verwendung von Mist ist das Problem:
Methode personal_newAccount existiert nicht/ist nicht verfügbar
andere Threads sagen mir, ich soll damit anfangen, --rpcapi="db,eth,net,web3,personal,web3"
aber warum funktioniert es dann mit MetaMask?
Das Problem ist, dass der Azure-Marktplatz eine alte Version von Geth hostet, die den EIP 155-Wiedergabeschutz nicht unterstützt , was die neueste Version von MetaMask tut.
Die Lösungen sind:
Als Mitglied des MetaMask-Teams würde ich es lieben, wenn wir alte, gefährlichere Ethereum-Clients wie diesen nicht unterstützen müssten, und ich würde es sehr bevorzugen, wenn Azure nur ihre Geth-Version aktualisiert.
Schließlich können Sie eine ältere Version von MetaMask ausführen. Version 3.5.2 war die letzte Version, die keinen EIP155-Wiedergabeschutz implementierte: https://github.com/MetaMask/metamask-plugin/releases/tag/v3.5.2
aber warum funktioniert es dann mit MetaMask? Metamask verwendet eine Sache namens Brainwallet, im Grunde eine Authentifizierung "on the fly", ohne Schlüsseldateien zu erstellen.
Natürlich müssen Sie Ihr Konto vor der Verwendung entsperren, alternativ können Sie es mit dem Startparameter dauerhaft (= bis zum Schließen/Neustart von geth) entsperren --unlock 0
. Verwenden Sie für mehrere Konten --unlock 0,1,2,3,4
. Wenn sie entsperrt und rpc aktiviert ist ( --rpc --rpcport 8545 --rpcaddr 0.0.0.0 --rpccorsdomain "*" --rpcapi "eth,web3,debug" for example, please look up what these parameters mean
), können Sie im Browser solidity / remix einfach https in http ändern und sich mit Ihrem Knoten verbinden.
solidity kann sich nicht mit dem privaten Netzwerk verbinden
Solidity ist nur die Programmiersprache, meintest du vielleicht etwas anderes? Viel Glück !
Divya Galla