Addresses
部署在 2 個節點上的智能合約將具有相同的地址?
讓我們先創建一個智能合約地址:
乙太坊合約的地址是根據其創建者(發送者)的地址和創建者發送的交易數量(隨機數)確定性地計算出來的。發送者和隨機數經過 RLP 編碼,然後使用 Keccak-256 進行散列。
現在我的問題是,如果只有一份合約部署在 2 個節點上,那一份合約應該有相同的地址嗎?
一旦部署了合約(部署交易被探勘),該合約就存在於網路中的所有節點上。由於已部署的合約包含在區塊鏈的狀態中,因此它在所有節點之間被複製和冗餘。是的,該合約將在所有節點上具有相同的地址。
如果您從一個節點部署了一個合約,然後使用同一個外部擁有的賬戶從另一個節點部署了相同的合約,那麼這兩個合約將具有不同的地址,因為外部擁有的賬戶的交易計數(隨機數)會不同。這兩個合約——具有相同的程式碼,但地址不同——將存在於網路中的每個節點上。