基於Ethereum Wallet的Solidity HelloWorld
相信大家都有學習各種開發語言的經歷,一般學習任何一門語言都會先從最簡單的HelloWorld開始,所以本篇文章,我們將編寫一個最基本的合約代碼,並且一步步講解如何通過Ethereum Wallet將合約部署到區塊鏈,同時我們將通過本demo的演示如何通過發送數據和接收數據和合約進行交互。
Solidity合約的語法和面向對象編程語言非常相似,一個合約有我們能夠調用的方法(函數)和能夠存儲數據和讀取數據的屬性(狀態變量)。
Counter合約源碼
我們的Counter合約將increment方法被調用的次數存儲到count屬性中。並且每個人都可以通過getCount方法獲取區塊鏈上count的值。
Counter合約部署
要想發布我們的合約到區塊鏈,打開Ethereum Wallet然後點擊Contracts。
點擊部署一個新合約。
將我們的Counter合約代碼拷貝到Ethereum Wallet代碼區域。
選擇Counter合約,然後點擊DEPLOY按鈕。
輸入當前部署的錢包的密碼,然後點擊SEND TRANSACTION按鈕。
查看最新交易。
查看交易信息。
和Counter合約互動
因為我們部署的合約是部署在Account 2上的,所以我們可以點擊Account 2查看最新的交易記錄。
點擊Counter按鈕,進入交互界面。
選擇Increment和Account 2,然後點擊EXECUTE按鈕。
輸入密碼,點擊SEND TRANSACTION按鈕。
交易執行完成後,count會自動加1
小結
部署合約時,因為要往區塊鏈寫入數據,需要礦工進行驗證,所以需要花費一些gas獎勵給礦工,還有當我們每次調用increment方法時,也屬於寫入數據,同樣需要花費gas,但是調用getCount方法時只是從區塊鏈讀取數據,無需驗證,讀取數據無須花費gas。
基於Ethereum Wallet的Solidity HelloWorld