Web3js

為什麼交易收據不包括轉移的乙太幣的價值?

  • January 3, 2020

我正在編寫一些邏輯來辨識乙太坊交易中使用的貨幣,並且想知道以下內容:

web3.eth.getTransaction返回一個value欄位,該欄位指示在 Wei 中傳輸的值。

但是我使用的是收據,並且web3.eth.getTransactionReceipt不包括轉移的價值,這似乎有點不直覺。為什麼會這樣?

收據基本上是為了證明日誌和事件,而不是交易的細節。

https://blog.ethereum.org/2015/11/15/merkling-in-ethereum Vitalik Buterin 給出了一個使用收據的例子,以及其他可以用 Merkle 證明回答的例子:

  • 該交易是否包含在特定區塊中?
  • 告訴我該地址在過去 30 天內發出的所有 X 類事件實例(例如,達到其目標的眾籌合約)
  • 我賬戶的目前餘額是多少?
  • 這個賬戶存在嗎?
  • 假裝在這個合約上執行這個交易。輸出會是什麼?

第一個由事務樹處理;第三個和第四個由狀態樹處理,第二個由接收樹處理。前四個計算起來相當簡單。伺服器簡單地找到對象,獲取 Merkle 分支(從對像到樹根的雜湊列表)並用分支回复輕客戶端。

有關的:

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