solidity[2]-helloworld

運行你的合約
現在編譯完全順利,請轉到“run”選項卡,以便我們可以運行我們的合約!

compile
compile
在這裏,您可以指定一些選項來創建合約,例如,選擇哪個地址部署它。
現在我們不會混淆這些設置。只要確保環境設置爲“JavaScript VM”,然後點擊粉紅色的“Deploy”按鈕即可。

deploy
deploy
消息日誌不多,但意味着將你的合同部署到了以太坊地址(儘管只在虛擬環境中)!
部署合同也使用Gas,並花費一定的以太幣。這就是爲什麼,如果你檢查選項中的賬戶地址,你的餘額應該從100以太幣略微下降到接近99。

deploy
ether 減少
現在HelloWorld合約已啓動並正在運行,只需按下瀏覽器窗口中的藍色按鈕 “getIt” ,即可調用其getIt函數。

solidity
solidity
正如你看到的,日誌系統中詳細記錄了調用的詳情:
另外要注意的是,你的賬戶中的以太幣並沒有發生變化,因爲他只是一個“view”函數。

log
log
添加一個可寫入的函數
到目前爲止一切順利,但我們真正想要做的是讓任何人將名稱變量改爲別的。爲此,我們將添加一個新的changeIt函數。

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

contract HelloWorld {

// ...

function changeIt(string newString) public {
firstTest=
newString;
}
}
正如你所看到的,這個函數在幾個方面與getIt不同。它並沒有使用視圖修改,因爲它實際上改變了存儲在blockchain數據,也不會返回任何東西。
Solidity函數中的參數通常以下劃線(_)作爲前綴,以將其與全局狀態變量(如firstTest)區分開來。我們將在整個課程中採用這一慣例。

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

change
change
注意新的“changeIt”按鈕是粉紅色而不是藍色,以強調它是可寫入函數的事實。 您現在應該可以在輸入字段中鍵入新名稱(不要忘記在名稱周圍添加雙引號),單擊“changeIt”按鈕並通過單擊“getIt”來獲取它。 complete
complete
恭喜!你已經完成了第一個solidity的智能合約。獲取和設置不同類型的狀態變量我們將在後續反覆使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章