Contract-Development
智能合約交易如何運作?
我讀到智能合約沒有私鑰,因此它們無法簽署交易。我的問題是:當智能合約開始與 EOA 進行交易時,如果智能合約沒有簽署任何內容,我們如何確定它是否進行了交易?我是這個世界的新人,我還在學習英語,所以請原諒錯誤。謝謝
只有 EOA 可以簽署和發送交易。在這種情況下,契約功能必須執行,它可以定址到契約。
合約的函式可以向其他合約發送消息和/或值,在這種情況下它們也執行,或者發送到 EOA,因為它沒有程式碼而只是接收。
所有這些都幾乎是瞬間發生的(在探勘之後),因為它都被認為是單個原子事務的一部分,必須完全完成或失敗。
希望能幫助到你。
與其說是智能合約是否有私鑰,不如說是;更多的是關於智能合約無法發起交易的事實。所有交易都由 EOA 啟動到智能合約或另一個 EOA。
如果將交易發送到合約,則合約可能包含在同一交易中呼叫另一個地址的功能(無論是另一個合約還是 EOA)。我們總是可以檢查
msg.sender
交易來自哪裡(誰是之前的中繼者 - 非常原始的發件人是可見的tx.origin
)。