Terminology

什麼是乙太坊合約?

  • July 13, 2018

乙太坊被描述為使用並支持創建“智能合約”,有時也稱為“合約”。但什麼是乙太坊合約?是法律文件還是別的什麼?

術語“合約”、“智能合約”,有時甚至是“DApp”都經常互換使用來描述同一事物。

乙太坊上的“合約”是一段程式碼。此程式碼作為字節碼儲存在區塊鏈上,並且一旦創建就不可更改。

合約的地址類似於普通的基於私鑰的賬戶擁有公共地址的方式。不同之處在於合約地址沒有關聯的私鑰。在所有其他方面,合約地址被視為與私鑰支持的地址相同。

當交易發送到合約的地址時,它會觸發合約字節碼的執行。合約的程式碼可以做普通地址可以做的任何事情,包括向其他地址發送資金和呼叫其他合約的程式碼。合約唯一不能做的事情是普通地址可以做的就是發起交易。乙太坊上的交易必須始終由基於私鑰的地址發起。

合約有 2 ** 256 個 32 字節的儲存槽可用於儲存數據。這可以被認為是每個合約都有自己的數據庫,用於跟踪需要在合約生命週期中持久保存的數據。

大多數合約都是用高級語言編寫的,例如solidity,它編譯成可部署到乙太坊區塊鏈上的字節碼。

這當然不是法律文件。簡而言之,它只是嵌入到具有自己地址的區塊鏈中的一段程式碼,每次到該地址的交易到達時都會執行該地址。您可以將其視為具有由程式碼定義的嚴格邏輯的合約,並且如果有人為此付費,則沒有任何東西可以阻止執行此程式碼。我寫了一個Ethereum 101。希望有幫助。

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