1. 程式人生 > >基於Ethereum Wallet的Solidity HelloWorld

基於Ethereum Wallet的Solidity HelloWorld

wallet 界面 ans 拷貝 部署 size 新的 面向對象 技術

基於Ethereum Wallet的Solidity HelloWorld智能合約(Smart Contract)

相信大家都有學習各種開發語言的經歷,一般學習任何一門語言都會先從最簡單的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