Solidity教程 hello word

hickey發表於2022-02-28

什麼是Solidity

Solidity是一種物件導向的高階程式語言,用於建立智慧合約,以使區塊鏈上的交易自動化。在2014年提出該語言後,該語言由以太坊專案的貢獻者開發。該語言主要用於在以太坊區塊鏈上建立智慧合約,並在其他區塊鏈上建立智慧合約。

可靠性類似於最常見的程式語言之一JavaScript。它可以被視為JavaScript的方言。這意味著,如果您瞭解JavaScript,則可以輕鬆選擇Solidity。 Solidity也具有與C ++和Python程式語言相似的特徵。

官方文件solidity-cn.readthedocs.io/zh/deve...

開發環境搭建

因為是在學習階段,個人建議是不要自己搭環境了,直接使用Ethereum官方開發的remix線上程式設計環境,地址在這:remix.ethereum.org/

當然,你也可以去選擇手動搭建。在手動搭建之前,我建議可以先下載一個以太坊官方錢包,Ethereum Wallet並且同步一下最新的測試網路的區塊。下載完成之後,我們要獲取測試網路免費的以太坊幣。這個具體流程,自行搜尋一下,我們今天的重點不在這個方面。安裝Solidity編譯器,可以在官方文件查閱;

Hello World

現在我們開啟線上程式設計環境,remix.ethereum.org/

我們可以看到,這個介面分3塊區域。使用vscode的同學肯定感覺很熟悉。我這邊就不過多的去介紹了。

現在我們建立一個 Workspace,叫 hello world.

當建立好之後,會預設生成一些檔案,這些檔案都是可以刪除的。我們建立一個HelloWorld.sol的檔案,並編寫程式碼:

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

contract HelloWorld{

    string MyName = "HelloWorld";

    function getName() public view returns(string memory)
    {
        return MyName;
    }

    function changeName(string memory newName) public
    {
        MyName = newName;
    }
}

這裡簡單講解下這個程式碼結構,第一行是我們要申明的協議(一般預設就是這個),第二行是申明所使用的的Solidity的版本。不同的版本,他的語法是有變更的。contract是代表物件的意思。其他的以後再做講解。我們先看下,怎麼來執行這一段程式碼。

如圖所示,我們要選擇跟程式碼中對應的版本號,程式碼中的版本號是大於等於0.7.0,小於0.8.0,所以我們的版本號是對應的。

這是編譯成功的狀態。我們現在已經有一個合約了,現在就差最後一步部署了。

我們選擇左側的第三個按鈕,就會展示以上圖示。點選部署

如上圖所示,這是部署成功的狀態,成功之後,我們會消耗測試賬戶中的ETH。這裡我們要注意,之後線上合約開發的本地測試,一定要測完全之後再部署。不然每次上線都要消耗掉ETH,這個成本太大了。

這邊是我們可以改變程式碼中MyName的值,當然,這種操作也會賬戶中的ETH。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章