原文標題:《Solidity 極簡入門:1. HelloWeb3 (三行代碼)》
作者:0xAA
我最近在重新學solidity,鞏固一下細節,也寫一個「Solidity 極簡入門」,供小白們使用(編程大佬可以另找教程),每週更新1-3 講。
所有代碼開源在:github: github.com/AmazingAng/WTFSolidity
Solidity 簡述
Solidity 是以太坊虛擬機(EVM)智能合約的語言。同時,我也覺得solidity 是玩鏈上項目必備的技能:區塊鏈項目大部分是開源的,如果你能讀懂代碼,能幫你規避很多虧錢項目。
Solidity 具有兩個特點:
- 基於對象:學會之後,能幫你掙錢找對象。
- 高級:不會solidity,在幣圈顯得很low。
開發工具:remix
本教程中,我會用remix 來跑solidity 合約。 remix 是以太坊官方推薦的智能合約開發IDE,適合新手,可以在瀏覽器中快速部署測試智能合約,你不需要在本地安裝任何程序。
網址:remix.ethereum.org
進入remix,我們可以看到最左邊的菜單有三個按鈕,分別對應文件(寫代碼的地方),編譯(跑代碼),部署(部署到鏈上)。我們點新建(Create New File)按鈕,就可以創建一個空白的solidity 合約。

remix 面板
第一個Solidity 程序:
很簡單,只有1 行註釋+3 行代碼:

我們拆開分析,學習solidity 代碼源文件的結構:
1. 第1 行是註釋,會寫一下這個代碼所用的軟件許可(license),這裡用的是MIT license。如果不寫許可,編譯時會警告(warning),但程序可以運行。 solidity 的註釋由「//」開頭,後面跟註釋的內容(不會被程序運行)。

2. 第2 行聲明源文件所用的solidity 版本,因為不同版本語法有差別。

這行代碼意思是源文件將不允許低於0.8.4 版本的編譯器編譯。
3. 第3-4 行是合約部分,第3 行創建合約(contract),並聲明合約的名字HelloWeb3。第4 行是合約的內容,我們聲明了一個string(字符串)變量_string,並給他賦值「Hello Web3!」。

以後我們會更細的介紹solidity 中的變量。
編譯並部署代碼
在編輯代碼的頁面,按ctrl+S 就可以編譯代碼,非常方便。
編譯好之後,點擊左側菜單的「部署」按鈕,進入部署頁面。

在默認情況下,remix 會用JS 虛擬機來模擬以太坊鏈,運行智能合約,類似在瀏覽器裡跑一條測試鏈。並且remix 會分配幾個測試賬戶給你,每個里面有100 ETH(測試Token),可勁兒用。你點Deploy(黃色按鈕),就可以部署咱們寫好的合約了。

部署成功後,你會在下面看到名為HELLOWEB3 的合約,點擊_string,就能看到我們代碼中寫的「Hello Web3!」了。
總結
第一講,我們簡單介紹了solidity,remix 工具,並完成了第一個solidity 程序--HelloWeb3。接下來我們會介紹solidity 的各種變量類型。
中文solidity 資料推薦:
Solidity 中文文檔(官方文檔的中文翻譯):https://solidity-cn.readthedocs.io/zh/develop/introduction-to-smart-contracts.html
崔棉大師solidity 教程(web3 技術教學博主,我看他視頻學到了很多): https://space.bilibili.com/286084162
