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?
Wie ich sehe, ändern Sie das Web3 Provider Endpoint
in Solidity Browser und stellen sicher, dass Sie das Konto entsperren .
Eine alternative Möglichkeit besteht darin, einfach die Standardeinstellung beizubehalten: Javascript VM
, dann:
Create
auf und kopieren Sie die Werte in Web3 deploy
.Web3 deploy
Werte in die Geth-Konsole ein und warten Sie, bis Ihre Transaktion abgebaut ist.Hier sind die Web3 deploy
Werte 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);
}
})