天天看點

solidity[2]-helloworld

現在編譯完全順利,請轉到“run”頁籤,以便我們可以運作我們的合約!

compile

在這裡,您可以指定一些選項來建立合約,例如,選擇哪個位址部署它。

現在我們不會混淆這些設定。隻要確定環境設定為“JavaScript VM”,然後點選粉紅色的“Deploy”按鈕即可。

solidity[2]-helloworld

deploy

消息日志不多,但意味着将你的合同部署到了以太坊位址(盡管隻在虛拟環境中)!

部署合同也使用Gas,并花費一定的以太币。這就是為什麼,如果你檢查選項中的賬戶位址,你的餘額應該從100以太币略微下降到接近99。

solidity[2]-helloworld

ether 減少

現在HelloWorld合約已啟動并正在運作,隻需按下浏覽器視窗中的藍色按鈕 “getIt” ,即可調用其getIt函數。

solidity

正如你看到的,日志系統中詳細記錄了調用的詳情:

另外要注意的是,你的賬戶中的以太币并沒有發生變化,因為他隻是一個“view”函數。

log

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

正如你所看到的,這個函數在幾個方面與getIt不同。它并沒有使用視圖修改,因為它實際上改變了存儲在blockchain資料,也不會傳回任何東西。

Solidity函數中的參數通常以下劃線(<code>_</code>)作為字首,以将其與全局狀态變量(如firstTest)區分開來。我們将在整個課程中采用這一慣例。

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

solidity[2]-helloworld

change

注意新的“changeIt”按鈕是粉紅色而不是藍色,以強調它是可寫入函數的事實。 您現在應該可以在輸入字段中鍵入新名稱(不要忘記在名稱周圍添加雙引号),單擊“changeIt”按鈕并通過單擊“getIt”來擷取它。 

complete

恭喜!你已經完成了第一個solidity的智能合約。擷取和設定不同類型的狀态變量我們将在後續反複使用。

本文連結: https://dreamerjonson.com/2018/11/07/solidity-2-helloworld/ 版權聲明: 本部落格所有文章除特别聲明外,均采用 CC BY 4.0 CN協定 許可協定。轉載請注明出處!
solidity[2]-helloworld