Web3js
如何檢查將乙太幣用於合約的地址的交易?
我不確定這個問題是否已經在某處被問過,我嘗試搜尋但無法得到它。
這是我到目前為止所做的。
- 創建和部署代幣合約
- 創建和部署 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); } });
希望對您有所幫助。