BNB代幣燃燒挖礦dapp系統開發技術詳情

nice1022發表於2023-04-14


Dapps 和智慧合約,開發 I34-案例 I633-演示 53I9

Dapp 的創造是以太坊最重要的特徵之一。除了去中心化之外,還有 Dapp 必須具備的某些其他功能:


Dapp 的原始碼應該對所有人開放。

應用程式,必須有某種代幣來為自己提供支援。

應用程式必須能夠生成自己的代幣並具有內建的共識機制。

聽起來很棒吧!那麼,你究竟如何構建它們呢?你需要使用 solidity 對智慧合約進行編碼。


開發人員使用一種名為 Solidity 的程式語言,這種語言是一種有目的的簡潔,鬆散型別的語言,其語法與 ECMAScript(Javascript)非常相似。


除了建立智慧合約外,你還必須擁有可以執行它的環境。但是,此執行環境必須具有一些屬性。這些屬性是:


確定性。

可終止。

隔離的。

1.確定性


如果程式每次都給予給定輸入有相同的輸出,則程式是確定性的。例如。如果 3+1=4 則 3+1 總是 4(假設基數相同)。因此,當程式將相同的輸出提供給不同計算機中的同一組輸入時,該程式稱為確定性。環境必須確保智慧合約的執行始終是確定的。


2.可終止


在數學邏輯中,我們有一個稱為 halting problem(終止問題)的錯誤。基本上,它表明無法知道給定程式是否可以在一定時限內執行其功能。1936 年,Alan Turing(阿蘭·圖靈)使用 Cantor 的對角線問題推斷出,沒有辦法知道某個節目是否可以在一個時間限制內完成。


這顯然是智慧合約的問題,因為根據定義,合約必須能夠在給定的時間限制內終止。因此環境必須能夠停止智慧合約的運作。


3.隔離


在區塊鏈中,任何人和每個人都可以上傳智慧合約。然而,正因為如此,合約可能在知情和不知不覺中包含病毒和錯誤。


如果合約沒有被隔離,這可能會妨礙整個系統。因此,將合約保持隔離在沙箱中以保護整個環境免受任何負面影響至關重要。


以太坊使用名為以太坊虛擬機器(EVM)的虛擬機器執行其智慧合約。


人們必須瞭解的下一個核心以太坊概念是 gas。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70011332/viewspace-2945868/,如需轉載,請註明出處,否則將追究法律責任。

相關文章