什麼是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 協議》,轉載必須註明作者和本文連結