Mist

合約創建交易中的“已部署數據”和“發送數據”有什麼區別?

  • August 15, 2017

我正在關注 ethereum.org 上的“創建您自己的加密貨幣合約”。我部署了契約,但我不明白“部署數據”和“發送數據”代表什麼。它們中的任何一個都是合約的字節碼嗎?在此處輸入圖像描述

“部署數據”是“合約字節碼”,“發送數據”是您提供給合約的數據(例如代幣參數或函式呼叫或參數)

根據另一個答案,“部署的數據”是實際的合約字節碼。

但是,此上下文中的“發送數據”是您為部署合約而發送的全部數據。這包括三個部分:

  • 建構子 - 這會將部署的數據複製到位並使用建構子參數設置合約儲存。這不構成最終部署契約的一部分。
  • 部署的數據——合約字節碼。
  • 建構子參數。

您應該能夠看到嵌入在發送數據中的部署數據。

在部署後呼叫合約時會使用另一個實體,即“呼叫數據”——這是用於呼叫合約函式的函式選擇器和參數。部署合約時,將“呼叫數據”替換為“發送數據”。

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