Ich bin ein Neuling.
Ich habe folgenden Scheinvertrag
contract A{
uint public test = 6;
address public myaddress;
uint public dummy;
/**
* The logs that will be emitted in every step of the contract's life cycle
*/
event MyEvent(address myaddress);
event ReadEvent(address myaddress, uint dummy);
/**
* The contract constructor
*/
constructor() public {
myaddress = msg.sender;
emit MyEvent(myaddress);
}
function myF(address sender, uint value) internal {
require(sender == myaddress );
dummy = value;
emit ReadEvent(sender, myaddress);
}
function run() public payable{
myF(msg.sender, msg.value);
/*SendMiles();*/
}
}
Ich kompiliere es dann und migriere mit Truffle. Nachdem ich eine Truffle-Konsole in einem Entwicklungsnetzwerk gestartet und Folgendes getan habe:
A.deployed().then(inst => { AInstance = inst })
account0 = web3.eth.accounts[0];
AInstance.run({from: account0, value: 5});
Ich bekomme dann eine Transaktionsnummer '0xa72b03232f5028332411d7f05cf47248616aab96d982ce9a7b147a00642db405' auf Glinche.
Zwei Fragen: 1. Wie kann ich den Wert der Vertragsvariablen hauptsächlich für Test, myaddress und Dummy für die Transaktion '0xa72b03232f5028332411d7f05cf47248616aab96d982ce9a7b147a00642db405' erhalten?
Ich habe web3.eth.storeat und A.at ('0xa72b03232f5028332411d7f05cf47248616aab96d982ce9a7b147a00642db405') ausprobiert und es hat in beiden Fällen nicht funktioniert
vielen Dank im Voraus;
Ihre Transaktion '0xa72b0...' ändert den Vertragsstatus A. Öffentliche Vertragsvariablen wie myaddress werden im Vertragsstatus gespeichert: Es hat keinen Sinn, myaddress für eine bestimmte Transaktion zu erhalten.
public
Attribut geben, wird automatisch eine Getter-Funktion mit demselben Namen generiert: Sie können den Wert von myaddress mit dem folgenden Befehl abrufen:AInstance.myaddress()
Sie können JSON manuell generieren:
var tmp = new Object()
tmp.test = AInstance.test()
tmp.myaddress = AInstance.myaddress()
tmp.dummy = AInstance.dummy()
result = JSON.stringify(tmp)
Benutzer1871528
Harald
AInstance.run()
rufen Sie die Methoderun
von der spezifischen InstanzAInstance
Ihres Vertrags aufA
. Wenn Sie erneut bereitstellen, erhalten Sie eine weitere Instanz Ihres VertragsA
.Benutzer1871528