Du solltest haben owner = msg.sender
. Sonst bekomme ich folgenden Fehler:
Error: Expression has to be an lvalue.
msg.sender = owner;
^--------^
Nachdem ich das bekommen habe, bekomme ich keine Fehler. Dies ist sinnvoll, da Sie den Ersteller des Vertrags (dh den Absender der Nachricht) zum Eigentümer des Vertrags machen möchten.
Wo haben Sie Vererbung verwendet, weil ich es nicht sehe. Vererbung ist so etwas wie contract User is mortal
{...}
Ich habe keine Antwort auf Ihre Frage, aber versuchen Sie, diesen Code im Solidity-Browser-Compiler zu kompilieren. Wenn es kompiliert, stimmt etwas mit Mist nicht. Hier ist der Link zum Compiler
Habe gerade in Zeile 7 bemerkt, dass es owner = msg.sender geben sollte
Soweit ich weiß, können Sie nur einen Vertrag pro Adresse bereitstellen. Dies bedeutet, dass Sie nur Benutzer- oder Mortal-Verträge bereitstellen können. Sie können sie jedoch zusammen kompilieren (was Sie versuchen zu tun) und intern verbinden.
Wenn Sie beispielsweise in Ihrem Benutzervertrag Folgendes tun:
address mortal = new mortal()
Der Compiler/EVM stellt einen neuen Vertrags-Mortal bereit und gibt seine Adresse zurück, die unter der Sterblich-Variablen verfügbar sein wird.
Dann können Sie in Ihrem Benutzervertragscode Dinge tun wie:
mortal.kill()
M. Pabari