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