日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
使用Solidity開發(fā)智能合約之一

本文轉(zhuǎn)載自微信公眾號「區(qū)塊鏈研究實驗室」,作者鏈三豐。轉(zhuǎn)載本文請聯(lián)系區(qū)塊鏈研究實驗室公眾號。

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的鹽田網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

Solidity是用于開發(fā)以太坊智能合約的最受歡迎的語言之一,因此作為一個想要成為區(qū)塊鏈開發(fā)人員的我決定開始學(xué)習(xí)如何使用Solidity開發(fā)智能合約。

但是由于找不到我想要的質(zhì)量的教程(使初學(xué)者能夠以簡潔的方式輕松學(xué)習(xí)基礎(chǔ)知識),所以我決定創(chuàng)建本系列,希望很快將您介紹給Solidity編程。

設(shè)置開發(fā)環(huán)境

我們將使用的IDE是Remix。您需要做的就是點擊這個URL。點擊進去后,您應(yīng)該會看到一個類似以下的屏幕:

在左側(cè),我選擇了兩個主要組件。第一個圖標(biāo)是文件瀏覽器,您可以在其中查看所有Solidity文件,第二個圖標(biāo)是插件管理器,從中可以添加新插件。

我們將需要添加兩個插件,因此單擊插件管理器圖標(biāo),然后鍵入“ Solidity編譯器”。然后通過單擊“激活”將其激活,并執(zhí)行相同的操作以添加“部署并運行事務(wù)”插件。

“Solidity編譯器”選項卡將允許您配置編譯器參數(shù)并編譯智能合約,而“部署并運行交易”選項卡將允許您在區(qū)塊鏈中部署智能合約并與之交互。圖標(biāo)列表現(xiàn)在應(yīng)如下所示:

您現(xiàn)在應(yīng)該做的第一件事是檢查“編譯器”選項卡中的“自動編譯”選項。接下來,我們將配置Remix以使用本地存儲中的文件。

您將需要使用以下命令安裝remixed:

 
 
 
 
  1. npm install -g remixd 

安裝完成后,您可以創(chuàng)建一個文件夾,您將在其中放置Solidity文件,然后運行以下命令告訴Remix使用文件夾中的文件:

 
 
 
 
  1. remixd -s  — remix-ide https://remix.ethereum.org 

現(xiàn)在轉(zhuǎn)到Remix的主頁,單擊“連接到本地主機”,然后在彈出窗口中選擇“連接”,您應(yīng)該在“文件資源管理器”選項卡下看到一個名為localhost的區(qū)域。如果展開它,您將看到從本地存儲共享的文件夾中包含的所有文件:

恭喜你,現(xiàn)在,您擁有了開始編寫第一個智能合約的工具!

接著Remix將為您提供在您的瀏覽器中運行的沙盒區(qū)塊鏈,以使用它來部署您的合同并與之交互。只需確保在“部署并運行”選項卡中選擇Javascript VM作為環(huán)境即可。

撰寫"hello world"合同

讓我們看看我們的第一個智能合約:

SPDX許可證標(biāo)識符

如果源代碼可用,則可以更好地建立對智能合約的信任。由于提供源代碼始終會涉及版權(quán)方面的法律問題,因此Solidity編譯器鼓勵使用機器可讀的SPDX許可證標(biāo)識符。每個源文件都應(yīng)以說明其許可證的注釋開頭。TK(https://solidity.readthedocs.io/en/v0.7.3/layout-of-source-files.html)

版本注釋

可以為源文件添加版本注釋,以拒絕使用將來的編譯器版本進行編譯,因為這可能會帶來不兼容的更改。

 
 
 
 
  1. 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(使用來添加第二個條件^)??梢詾榫幾g器版本指定更復(fù)雜的規(guī)則。它們遵循npm所使用的相同語法。

前兩行應(yīng)出現(xiàn)在所有智能合約文件中。

為了開始編寫智能合約,您需要使用關(guān)鍵字contract 以及合約名稱,然后才能將代碼放在大括號之間。

接著,讓我們創(chuàng)建這個世界問候合同。

在您的共享文件夾中創(chuàng)建一個名為的新文件,HelloWorldContract.sol并復(fù)制粘貼先前的代碼。如果您選中了自動編譯選項,它將自動編譯代碼。如果沒有,請確保檢查并編譯代碼。

現(xiàn)在是時候部署我們的第一個合同并與其進行交互了。

單擊“部署并運行事務(wù)”選項卡,然后確保在環(huán)境中選擇了JavaScript VM,并在合同區(qū)域中選擇了合同名稱。完成后,單擊“部署”。

現(xiàn)在,您應(yīng)該在“已部署合同”區(qū)域下看到您的合同。

如果展開它,您將看到該helloWorld功能。單擊它以發(fā)送調(diào)用此功能的交易,您將看到hello world打印的字符串。

智能合約的結(jié)構(gòu)

現(xiàn)在讓我們看看可以在智能合約中添加哪些內(nèi)容(下面直接引自https://solidity.readthedocs.io/en/v0.6.7/structure-of-a-contract.html):

  • 狀態(tài)變量:是其值永久存儲在合同存儲中的變量。
  • 函數(shù):函數(shù)是代碼的可執(zhí)行單元。函數(shù)通常在合同內(nèi)部定義,但也可以在合同外部定義。
  • 功能修飾符:功能修飾符可用于以聲明方式修改功能的語義。
  • 事件:事件是與EVM日志記錄工具的便捷接口。
  • 結(jié)構(gòu)類型:結(jié)構(gòu)是可以將多個變量組合在一起的自定義類型。
  • 枚舉類型:枚舉可用于創(chuàng)建具有有限“常量值”集合的自定義類型。

網(wǎng)站名稱:使用Solidity開發(fā)智能合約之一
文章起源:http://m.5511xx.com/article/djjodod.html