Web3js

如何檢查將乙太幣用於合約的地址的交易?

  • October 26, 2017

我不確定這個問題是否已經在某處被問過,我嘗試搜尋但無法得到它。

這是我到目前為止所做的。

  1. 創建和部署代幣合約
  2. 創建和部署 CrowdSale 合約

現在,我如何列出一個地址(人)發送到眾籌合約以購買代幣的交易。我檢查了程式碼以了解該地址購買的代幣數量,但我還想顯示他在眾籌的各個階段發送的乙太幣數量。我知道有 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);
                }
           });

希望對您有所幫助。

引用自:https://ethereum.stackexchange.com/questions/29285