Ich bin mir nicht sicher, ob die Frage schon irgendwo gestellt wurde, ich habe versucht, sie zu finden, aber ich habe sie nicht gefunden.
Das habe ich bisher getan.
Wie liste ich nun die Transaktionen auf, die von einer Adresse (Person) an den Crowdsale-Vertrag gesendet werden, um den Token zu kaufen? Ich habe die Codes überprüft, um die Anzahl der von der Adresse gekauften Token zu erfahren, aber ich möchte auch die Anzahl der Ether zeigen, die er in verschiedenen Phasen des Crowdsale gesendet hat. Ich weiß, dass es einen API-Endpunkt gibt, um die Transaktionen einer Adresse herauszuziehen, aber hier möchte ich die Transaktion nur mit dem CrowdSale-Vertrag erledigen.
Ich hoffe, ich konnte die Notwendigkeit erklären. Jede Hilfe ist willkommen.
Persönlich ist mein Ansatz, Ereignisse innerhalb des Vertrags zu verwenden, was ziemlich einfach ist, Transaktionsdetails mit spezifischen Informationen aufzulisten, z
Im Vertrag definiere ich ein Ereignis wie dieses
event buy(address indexed customerAddress, uint priceValue, uint amount);
Dann in js-Datei wie folgt
var buyEevent= contractInstance.buy({customerAddress:customerAddress},{fromBlock: 0, toBlock: 'latest'});
buyEvent.watch(function(error, response) {
if (!error) {
console.log("event: "+response.args.customerName);
console.log("event: "+response.args.priceValue);
console.log("event: "+response.args.amount);
} else {
console.error(error);
}
});
Hoffe, es kann hilfreich für Sie sein.
Rajesh
purchaseEvent.watch
sollte geändert werdenbuyEevent.watch
Afzaal Ahmad