Не уверен, что вопрос уже где-то задавался, я пытался искать, но не смог его получить.
Это то, что я сделал до сих пор.
Теперь, как мне составить список транзакций, отправленных адресом (человеком) в краудсейл-контракт для покупки токена. Я проверил коды, чтобы узнать количество токенов, купленных по адресу, но я также хочу показать количество эфиров, которые он отправил на разных этапах краудсейла. Я знаю, что есть конечная точка API для извлечения транзакций адреса, но здесь я хочу, чтобы транзакция выполнялась только с контрактом CrowdSale.
Надеюсь, я смог объяснить необходимость. Любая помощь приветствуется.
Лично мой подход заключается в использовании событий внутри контракта, который довольно легко перечислить детали транзакции с конкретной информацией, например
В контракте я определяю такое событие
event buy(address indexed customerAddress, uint priceValue, uint amount);
Затем в файле js, подобном этому
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);
}
});
Надеюсь, это может быть полезно для вас.
Раджеш
purchaseEvent.watch
должна быть изменена наbuyEevent.watch
Афзаал Ахмад