溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

solidity[2]-helloworld

發(fā)布時間:2020-08-11 15:44:33 來源:網(wǎng)絡(luò) 閱讀:184 作者:jonson_jackson 欄目:開發(fā)技術(shù)

運行你的合約

現(xiàn)在編譯完全順利,請轉(zhuǎn)到“run”選項卡,以便我們可以運行我們的合約!

solidity[2]-helloworld

compile

在這里,您可以指定一些選項來創(chuàng)建合約,例如,選擇哪個地址部署它。
現(xiàn)在我們不會混淆這些設(shè)置。只要確保環(huán)境設(shè)置為“JavaScript VM”,然后點擊粉紅色的“Deploy”按鈕即可。

solidity[2]-helloworld

deploy

消息日志不多,但意味著將你的合同部署到了以太坊地址(盡管只在虛擬環(huán)境中)!
部署合同也使用Gas,并花費一定的以太幣。這就是為什么,如果你檢查選項中的賬戶地址,你的余額應(yīng)該從100以太幣略微下降到接近99。

solidity[2]-helloworld

ether 減少

現(xiàn)在HelloWorld合約已啟動并正在運行,只需按下瀏覽器窗口中的藍色按鈕 “getIt” ,即可調(diào)用其getIt函數(shù)。

solidity[2]-helloworld

solidity

正如你看到的,日志系統(tǒng)中詳細記錄了調(diào)用的詳情:
另外要注意的是,你的賬戶中的以太幣并沒有發(fā)生變化,因為他只是一個“view”函數(shù)。

solidity[2]-helloworld

log

添加一個可寫入的函數(shù)

到目前為止一切順利,但我們真正想要做的是讓任何人將名稱變量改為別的。為此,我們將添加一個新的changeIt函數(shù)。

1
2
3
4
5
6
7
8
9
10
pragma solidity ^0.4.0;

contract HelloWorld {

 // ...

 function changeIt(string _newString) public {
   firstTest= _ newString;
 }
}

正如你所看到的,這個函數(shù)在幾個方面與getIt不同。它并沒有使用視圖修改,因為它實際上改變了存儲在blockchain數(shù)據(jù),也不會返回任何東西。
Solidity函數(shù)中的參數(shù)通常以下劃線(_)作為前綴,以將其與全局狀態(tài)變量(如firstTest)區(qū)分開來。我們將在整個課程中采用這一慣例。

再次運行

我們再次單擊“deploy”按鈕來重新部署我們的合同。

solidity[2]-helloworld

change

注意新的“changeIt”按鈕是粉紅色而不是藍色,以強調(diào)它是可寫入函數(shù)的事實。 您現(xiàn)在應(yīng)該可以在輸入字段中鍵入新名稱(不要忘記在名稱周圍添加雙引號),單擊“changeIt”按鈕并通過單擊“getIt”來獲取它。 solidity[2]-helloworld

complete

恭喜!你已經(jīng)完成了第一個solidity的智能合約。獲取和設(shè)置不同類型的狀態(tài)變量我們將在后續(xù)反復(fù)使用。

  • 本文鏈接: https://dreamerjonson.com/2018/11/07/solidity-2-helloworld/

  • 版權(quán)聲明: 本博客所有文章除特別聲明外,均采用 CC BY 4.0 CN協(xié)議 許可協(xié)議。轉(zhuǎn)載請注明出處!

solidity[2]-helloworld

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI