您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么用Solidity開發智能合約”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用Solidity開發智能合約”吧!
Solidity是用于開發以太坊智能合約的最受歡迎的語言之一,因此作為一個想要成為區塊鏈開發人員的我決定開始學習如何使用Solidity開發智能合約。
但是由于找不到我想要的質量的教程(使初學者能夠以簡潔的方式輕松學習基礎知識),所以我決定創建本系列,希望很快將您介紹給Solidity編程。
我們將使用的IDE是Remix。您需要做的就是點擊這個URL。點擊進去后,您應該會看到一個類似以下的屏幕:
在左側,我選擇了兩個主要組件。第一個圖標是文件瀏覽器,您可以在其中查看所有Solidity文件,第二個圖標是插件管理器,從中可以添加新插件。
我們將需要添加兩個插件,因此單擊插件管理器圖標,然后鍵入“ Solidity編譯器”。然后通過單擊“激活”將其激活,并執行相同的操作以添加“部署并運行事務”插件。
“Solidity編譯器”選項卡將允許您配置編譯器參數并編譯智能合約,而“部署并運行交易”選項卡將允許您在區塊鏈中部署智能合約并與之交互。圖標列表現在應如下所示:
您現在應該做的第一件事是檢查“編譯器”選項卡中的“自動編譯”選項。接下來,我們將配置Remix以使用本地存儲中的文件。
您將需要使用以下命令安裝remixed:
npm install -g remixd
安裝完成后,您可以創建一個文件夾,您將在其中放置Solidity文件,然后運行以下命令告訴Remix使用文件夾中的文件:
remixd -s <shared folder> — remix-ide https://remix.ethereum.org
現在轉到Remix的主頁,單擊“連接到本地主機”,然后在彈出窗口中選擇“連接”,您應該在“文件資源管理器”選項卡下看到一個名為localhost的區域。如果展開它,您將看到從本地存儲共享的文件夾中包含的所有文件:
恭喜你,現在,您擁有了開始編寫第一個智能合約的工具!
接著Remix將為您提供在您的瀏覽器中運行的沙盒區塊鏈,以使用它來部署您的合同并與之交互。只需確保在“部署并運行”選項卡中選擇Javascript VM作為環境即可。
讓我們看看我們的第一個智能合約:
SPDX許可證標識符
如果源代碼可用,則可以更好地建立對智能合約的信任。由于提供源代碼始終會涉及版權方面的法律問題,因此Solidity編譯器鼓勵使用機器可讀的SPDX許可證標識符。每個源文件都應以說明其許可證的注釋開頭。TK(https://solidity.readthedocs.io/en/v0.7.3/layout-of-source-files.html)
可以為源文件添加版本注釋,以拒絕使用將來的編譯器版本進行編譯,因為這可能會帶來不兼容的更改。
TK(https://solidity.readthedocs.io/en/v0.7.3/layout-of-source-files.html)
具有重大更改的發行版本始終以0.x.0或形式x.0.0。在我們的示例中,可以使用的編譯器版本應大于或等于0.7.0且小于0.8.0(使用來添加第二個條件^)。可以為編譯器版本指定更復雜的規則。它們遵循npm所使用的相同語法。
前兩行應出現在所有智能合約文件中。
為了開始編寫智能合約,您需要使用關鍵字contract 以及合約名稱,然后才能將代碼放在大括號之間。
接著,讓我們創建這個世界問候合同。
在您的共享文件夾中創建一個名為的新文件,HelloWorldContract.sol并復制粘貼先前的代碼。如果您選中了自動編譯選項,它將自動編譯代碼。如果沒有,請確保檢查并編譯代碼。
現在是時候部署我們的第一個合同并與其進行交互了。
單擊“部署并運行事務”選項卡,然后確保在環境中選擇了JavaScript VM,并在合同區域中選擇了合同名稱。完成后,單擊“部署”。
現在,您應該在“已部署合同”區域下看到您的合同。
如果展開它,您將看到該helloWorld功能。單擊它以發送調用此功能的交易,您將看到hello world打印的字符串。
現在讓我們看看可以在智能合約中添加哪些內容(下面直接引自https://solidity.readthedocs.io/en/v0.6.7/structure-of-a-contract.html):
狀態變量:是其值永久存儲在合同存儲中的變量。
函數:函數是代碼的可執行單元。函數通常在合同內部定義,但也可以在合同外部定義。
功能修飾符:功能修飾符可用于以聲明方式修改功能的語義。
事件:事件是與EVM日志記錄工具的便捷接口。
結構類型:結構是可以將多個變量組合在一起的自定義類型。
枚舉類型:枚舉可用于創建具有有限“常量值”集合的自定義類型。
到此,相信大家對“怎么用Solidity開發智能合約”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。