Wie kann ich einen Vertrag mit dem Solidity-Browser in einem lokalen laufenden Knoten bereitstellen?

Ich betreibe einen lokalen Ethereum-Knoten und habe ein Konto freigeschaltet. Jetzt möchte ich den Solidity-Browser verwenden, um diesen Vertrag bereitzustellen, aber wenn ich zur Bereitstellungsoption des web3-Anbieters wechsle und die Schaltfläche „Erstellen“ unter der Adresse „ http://localhost:8000 “ drücke, sehe ich nur einen Fehler, der besagt: „ Fehler: Konto ist gesperrt'. Ich weiß nicht warum und wie funktioniert das?

Und was ist der einfachste Weg, einen Smart Contract in einem lokalen laufenden Knoten bereitzustellen?

Antworten (1)

Wie ich sehe, ändern Sie das Web3 Provider Endpointin Solidity Browser und stellen sicher, dass Sie das Konto entsperren .

Eine alternative Möglichkeit besteht darin, einfach die Standardeinstellung beizubehalten: Javascript VM, dann:

  1. Klicken Sie Createauf und kopieren Sie die Werte in Web3 deploy.
  2. Öffnen Sie eine Geth-Konsole mit entsperrtem Konto 0.
  3. Fügen Sie die Web3 deployWerte in die Geth-Konsole ein und warten Sie, bis Ihre Transaktion abgebaut ist.

Hier sind die Web3 deployWerte für die einfachsten contract Test {}und Sie können sehen, dass web3.eth.accounts[0]sie entsperrt werden müssen (oder sie in Ihr entsperrtes Konto ändern).

var testContract = web3.eth.contract([]);
var test = testContract.new(
   {
     from: web3.eth.accounts[0], 
     data: '6060604052600a8060106000396000f360606040526008565b00', 
     gas: 3000000
   }, function(e, contract){
    console.log(e, contract);
    if (typeof contract.address != 'undefined') {
         console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash);
    }
 })