1. 程式人生 > >solidity[2]-helloworld

solidity[2]-helloworld

分開 智能 一個 部署 環境 減少 -h 變量 詳情

運行你的合約
現在編譯完全順利,請轉到“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的智能合約。獲取和設置不同類型的狀態變量我們將在後續反復使用。

solidity[2]-helloworld