Transactions
誰來為我們執行智能合約?
我想知道當我們呼叫智能合約中的函式時,誰來幫助我們執行。是礦工將這筆交易放入區塊嗎?
希望你能給我一些幫助,謝謝!
在乙太坊 1.0 中,是的,它是一個將交易包含在區塊鏈中的礦工。閱讀工作證明(Pow)。
在乙太坊 2.0 中,它是一個“驗證者”,將交易包含在一個分片的塊中。閱讀股權證明 (PoS)。
在撰寫此答案時,乙太坊 1.0 仍然是“主要”網路。乙太坊 2.0 於 2020 年 12 月 1 日開始其第 0 階段,但它需要一段時間才能進入進一步的階段。
當您向網路送出交易時,它會分發到網路的所有/大多數節點。其中一些是礦工。一些礦工選擇你的交易,將其包含在他們打算提議的下一個區塊中。在這個過程中,他們執行交易,包括被呼叫的智能合約。然後礦工嘗試為他們的區塊找到合適的雜湊值。如果他們成功了,他們會將區塊廣播到網路。現在網路中的所有節點都處理塊中的交易。如果區塊被接受並成為鏈的一部分,則可以說交易已經處理並且智能合約已經執行。
如果一個新節點加入網路,那麼它將處理鏈上的所有交易,以驗證鏈併計算目前狀態。在本課程中,您的交易也將再次執行。