Dapps

乙太坊智能合約是如何部署的?

  • September 13, 2019

我對智能合約如何在乙太坊區塊鍊和 DApps 上工作感到有些困惑。

我對使用乙太坊智能合約的 DApp 結構感到困惑。是在製作應用程序時只創建一個合約,還是應用程序的使用者每次都發布智能合約?我的問題的更多細節在下一段。

假設你有一個 Ride share Ethereum Dapp,在製作這個 Dapp 時,應用程序的創建者會發布一個智能合約,例如“Ride”。是否有一種實現方式,尋找乘車的人可以將他的資訊儲存到應用程序創建者發布的區塊鏈上的“乘車”合約中?因此,從本質上講,拼車應用程序的使用者正在與已經發布的智能合約進行互動。或者,每次在 Rideshare 應用程序中輸入使用者詳細資訊時,Rideshare 應用程序的每個使用者都會部署/發布自己的智能合約嗎?

感謝您幫助消除這種混亂。

一旦合約被部署並擁有一個特定的地址(比如說地址 1),那麼使用者就可以與該特定地址(地址 1)中的智能合約的功能進行互動。

如果使用者部署了他自己版本的智能合約或 dapp,那麼這個智能合約就會有一個新地址(地址 2)。

如果 1 號智能合約中有一個功能可以接受並儲存您的資訊,那麼該資訊將不會出現在 2 號智能合約中

所以是的,“拼車應用程序的使用者正在與已經發布的智能合約進行互動”。

不是一個非常科學的答案,但我希望它有所幫助。

我對使用乙太坊智能合約的 DApp 結構感到困惑。

每個合約都有一個唯一的地址、字節碼(EVM 對執行檔的實現)和(非常)大致類似於數據庫的狀態儲存。狀態可以包括使用者的資訊,如餘額。字節碼實現了合約的規則,例如從一個使用者轉移到另一個使用者的條件和效果。

是在製作應用程序時只創建一個合約,還是應用程序的使用者每次都發布智能合約?

通常,使用者與一份合約進行互動。然而,模組化是一回事,因此系統可以設計成多個合約協同工作,這可以包括模組的自動部署。

因此,從本質上講,拼車應用程序的使用者正在與已經發布的智能合約進行互動。或者,每次在 Rideshare 應用程序中輸入使用者詳細資訊時,Rideshare 應用程序的每個使用者都會部署/發布自己的智能合約嗎?

這可能是第一種方式。

希望能幫助到你。

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