如何用Solidity編寫一個智能合約

這篇文章主要講解了“如何用Solidity編寫一個智能合約”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何用Solidity編寫一個智能合約”吧!

在喀什等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都做網(wǎng)站 網(wǎng)站設(shè)計制作定制設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站制作,喀什網(wǎng)站建設(shè)費用合理。

開始之前,您需要安裝的工具:

1. Ganache:這將是我們用來創(chuàng)建僅在我們的計算機上運行的私有區(qū)塊鏈的工具。鏈接:http://truffleframework.com/ganache/

2.MyEtherWallet副本,在這種情況下,URL托管的網(wǎng)站將不起作用。鏈接:https://github.com/kvhnuke/etherwallet/releases 注意:下載的版本是etherwallet-v3.xx.x.x.zip。

安裝完成后,我們開始訪問https://remix.ethereum.org/,打開這個網(wǎng)址后顯示如下:

如何用Solidity編寫一個智能合約

這是Remix,一個Solidity語言的在線編譯器,我們將用此編譯器來編寫智能合約代碼。

第一次訪問該頁面時,我們需要將本文編輯器預(yù)加載的代碼刪除,并替換為如下內(nèi)容:

如何用Solidity編寫一個智能合約

這是我們counter的代碼。正如你所看到的,它有一個變量和三個函數(shù)。變量count是一個私有整數(shù),這意味著它不能被合約以外的任何人訪問。第一個函數(shù)incrementCounter()通過遞增其值來改變或改變count的值。 第二個函數(shù)decrementCounter()通過遞減其值來改變count的值。第三個函數(shù)getCount()訪問count并將其值返回給任何函數(shù)。

當(dāng)把counter的代碼粘貼到Remix時,它應(yīng)該如下所示并自動編譯:

如何用Solidity編寫一個智能合約

我們將保留該選項卡,以便稍后返回。 現(xiàn)在,打開Ganache,會顯示如下所示:

如何用Solidity編寫一個智能合約

屏幕最上方所顯示“RPC” 服務(wù)器,我們一會兒需要用到它的信息。

如何用Solidity編寫一個智能合約

現(xiàn)在,解壓MyEtherWallet,并打開文件夾。 然后,在瀏覽器中打開index.html文件便可看到如下圖所示。

如何用Solidity編寫一個智能合約

在右上角,您可以看到一個關(guān)于以太坊網(wǎng)絡(luò)連接的下拉列表,默認(rèn)情況下,它會連接到以太坊(ETH)主網(wǎng)。我們需要點擊下拉框選擇我們需要的網(wǎng)絡(luò)。

如何用Solidity編寫一個智能合約

現(xiàn)在您可以輸入Ganache早些時候給我們提供的RPC服務(wù)器信息。 注意:您可以隨意命名節(jié)點。

如何用Solidity編寫一個智能合約

MyEtherWallet現(xiàn)在通過Ganache連接到您的自托管區(qū)塊鏈。讓我們使用MyEtherWallet將Counter智能合約上傳到我們的區(qū)塊鏈。為此,我們在MyEtherWallet的頂部導(dǎo)航欄中點擊“Contracts”并選擇“Deploy Contract”。

如何用Solidity編寫一個智能合約

如何用Solidity編寫一個智能合約

正如您所看到的,MyEtherWallet向我們請求合約的字節(jié)碼。 要找到這個,我們將回到我們的Remix IDE并點擊“Details”按鈕。

如何用Solidity編寫一個智能合約

您現(xiàn)在應(yīng)該看到一個對話,其中包含有關(guān)我們的Counter合約的大量信息。

如何用Solidity編寫一個智能合約

要復(fù)制字節(jié)碼,我們將點擊“BYTECODE”旁邊的剪貼板圖標(biāo)。

如何用Solidity編寫一個智能合約

然后,我們將回到MyEtherWallet并將字節(jié)碼粘貼到對話框中。

如何用Solidity編寫一個智能合約

現(xiàn)在我們可以向下滾動并導(dǎo)入一個帳戶以上傳合約。幸運的是,Ganache給了我們5個地址,我們可以使用它與我們的私有區(qū)塊鏈進行交互。要使用其中一個上傳此合約,我們可以返回到Ganache并單擊任何地址的鑰匙圖標(biāo)。

如何用Solidity編寫一個智能合約

   點擊鑰匙之后,它會向我們顯示與此帳戶關(guān)聯(lián)的私鑰。

如何用Solidity編寫一個智能合約

我們復(fù)制此私鑰到MyEtherWallet。

如何用Solidity編寫一個智能合約

現(xiàn)在,如果我們點擊“Unlock”,MyEtherWallet會詢問我們是否簽署這筆交易并部署我們的合約。我們執(zhí)行它。

如何用Solidity編寫一個智能合約

如何用Solidity編寫一個智能合約

如何用Solidity編寫一個智能合約

如果交易成功,那么Ganache將增加其“Current Block”值,并且我們用于部署合約的賬戶的交易計數(shù)也增加。

如何用Solidity編寫一個智能合約

我們的合約現(xiàn)在已上傳到我們的區(qū)塊鏈! 要通過遞增和遞減counter與其交互,我們可以返回MyEtherWallet并選擇“Interact With Contract”。

如何用Solidity編寫一個智能合約

如何用Solidity編寫一個智能合約

MyEtherWallet現(xiàn)在要求我們新部署的合約所在的地址和我們合約的應(yīng)用程序二進制接口(ABI)。要找到地址,我們可以回到Ganache并查看我們的交易記錄。

如何用Solidity編寫一個智能合約

如何用Solidity編寫一個智能合約

此頁面顯示我們之前在部署合約時創(chuàng)建的交易。正如你所看到的,Ganache告訴我們用來部署合約的地址,我們區(qū)塊鏈上的合約地址以及有關(guān)交易的更多信息。讓我們單擊事務(wù),復(fù)制創(chuàng)建的合約地址,并將其粘貼到MyEtherWallet中。

如何用Solidity編寫一個智能合約

如何用Solidity編寫一個智能合約

如何用Solidity編寫一個智能合約

如何用Solidity編寫一個智能合約

剩下的就是我們需要的ABI。這是告訴MyEtherWallet如何與我們的合約進行交互。為了得到它,我們將回到Remix并點擊“INTERFACE - ABI”旁邊的剪貼板圖標(biāo)將其復(fù)制。

如何用Solidity編寫一個智能合約

現(xiàn)在我們可以回到MyEtherWallet,將ABI粘貼到文本框中,然后單擊“Access”按鈕。

如何用Solidity編寫一個智能合約

真棒! 現(xiàn)在我們可以通過點擊“Select a function”下拉菜單與我們的合約進行交互。

如何用Solidity編寫一個智能合約

如何用Solidity編寫一個智能合約

成功運行!在更改計數(shù)值之前,我們的合約返回0。但是,我們還有另外兩個函數(shù),incrementCounter()和decrementCounter()。我們來調(diào)用incrementCounter()來測試一下。我們將通過再次選擇函數(shù)下拉菜單,選擇incrementCounter并創(chuàng)建一個新的交易。

如何用Solidity編寫一個智能合約

如何用Solidity編寫一個智能合約

如何用Solidity編寫一個智能合約

如何用Solidity編寫一個智能合約

這只是增加了計數(shù)值?,F(xiàn)在我們可以再次調(diào)用getCount()來確認(rèn)值是否真的改變了。

如何用Solidity編寫一個智能合約

如何用Solidity編寫一個智能合約

正如你所看到的,count現(xiàn)在等于1! 所以,我們的incrementCount()函數(shù)成功運行。你可以嘗試調(diào)用decrementCount()函數(shù),并且探索更多!

感謝各位的閱讀,以上就是“如何用Solidity編寫一個智能合約”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何用Solidity編寫一個智能合約這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

當(dāng)前文章:如何用Solidity編寫一個智能合約
URL鏈接:http://muchs.cn/article44/ijdiee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、品牌網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)Google、全網(wǎng)營銷推廣、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計