前面一篇關(guān)于智能合約
翻譯文講到了,是一種計算機(jī)程序,既然是程序,那就可以使用程序語言
去編寫智能合約
了。
而若想玩區(qū)塊鏈上的項目,大部分區(qū)塊鏈項目都是開源的,能看得懂智能合約
代碼,或找出其中的漏洞,那么,學(xué)習(xí)Solidity
這門高級的智能合約語言是有必要的,當(dāng)然,這都得在公鏈``````以太坊
上,畢竟國內(nèi)的聯(lián)盟鏈
有些是不兼容Solidity
。
Solidity
是一種面向?qū)ο蟮母呒壵Z言,用于實現(xiàn)智能合約。智能合約是管理以太坊狀態(tài)下的賬戶行為的程序。
Solidity
是運行在以太坊(Ethereum)虛擬機(jī)(EVM)上,其語法受到了c++
、python
、javascript
影響。
Solidity是靜態(tài)類型的,支持繼承、庫和復(fù)雜的用戶定義類型以及其他功能。
使用Solidity,您可以為投票、眾籌、盲目拍賣和多簽名錢包等用途創(chuàng)建合約。
在部署合約時,你應(yīng)該使用最新發(fā)布的 Solidity 版本。除了特殊情況外,只有最新版本才會收到安全修復(fù)。此外,突破性的變化以及新的功能會定期引入。我們目前使用0.y.z版本號來表示這種快速變化的速度。
Solidity 具有以下兩個顯著特征(純屬笑談,別太在意):
- 1、面向?qū)ο螅簩W(xué)會之后能掙錢去找對象
- 2、在幣圈混:不會 Solidity ,在圈內(nèi)顯得是那么 low,“瞧,那家伙不會 Solidity,還想混幣圈!”
在線編輯器 remix
工欲善其事,必先利其器。
這句話是很有道理的,不管做什么事或在學(xué)習(xí)新事物,都要準(zhǔn)備好工具,學(xué)習(xí)新事物也是一樣的。
打開瀏覽器,在地址欄輸入remix.ethereum.org
打開后的默認(rèn)界面,包含 Solidity 示例。首次打開可能沒那么快,這畢竟國外的站點。
我們在當(dāng)前工作空間新建一個 solidity 文件,注意,是以sol
作為文件的后綴名。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
contract MyToken{
string public webSite = "Welcome to qiucode.cn";
}
代碼分析:
-
solidity 也和大多數(shù)編程一樣,也是使用
//
作為程序的注釋,而本實例中的第一行其實是表明該合約所用的軟件許可(license),這里用的是MIT license。如果不寫許可,編譯時會警告(warning),但程序可以運行。// SPDX-License-Identifier: MIT
-
而第 2 行 則聲明了合約所使用的 solidity 版本,畢竟 solidity 正處于發(fā)展階段,更新迭代比較頻繁,不同的版本之間各有差異。這行代碼意思是源文件將不允許小于 0.8.7 版本或大于等于 0.9.0 版本的編譯器編譯(第二個條件由
^
提供)。Solidity 語句以分號(;)結(jié)尾。pragma solidity ^0.8.7;
-
第3-4行是合約部分,第3行創(chuàng)建合約(contract),并聲明合約的名字 MyToken。第4行是合約的內(nèi)容,我們聲明了一個string(字符串)狀態(tài) webSite,并給他賦值 “Welcome to qiucode.cn”。
contract MyToken{ string public webSite = "Welcome to qiucode.cn"; }
編譯需要點時間,直到出現(xiàn)了綠色小圖標(biāo),就說明編譯成功了。
現(xiàn)在可以不受測試下看看效果如何。
文章來源:http://www.zghlxwxcb.cn/news/detail-415409.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-415409.html
到了這里,關(guān)于玩以太坊鏈上項目的必備技能(初識智能合約語言-Solidity之旅一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!