Solidity 智能合約入門
Solidity 是鏈上智能合約的開發(fā)語言,鏈上智能合約相當(dāng)于傳統(tǒng)行業(yè)的后端,鏈上應(yīng)用基本都是由合約 + 前端組成的,雖然不推薦,但部分鏈上應(yīng)用也會加入后端進行數(shù)據(jù)存儲,以降低用戶的使用成本。
Solidity 這門開發(fā)語言并不復(fù)雜,只需要您稍微有一點兒編程基礎(chǔ),英文詞匯量達到中學(xué)生水平,都能看懂基本的合約代碼邏輯即可。
最開始強烈推薦先入門 ERC20 和 ERC721 ,理解之后,再去看關(guān)聯(lián)的 ERC1155 、ERC4907 等以太坊標(biāo)準(zhǔn),都不會覺得有什么理解上的太大壓力。
除此之外,以太坊標(biāo)準(zhǔn) ERC 為開發(fā)者提供了大量開源的合約接口,開發(fā)者可輕松用于構(gòu)建各類鏈上實用功能。Solidity 智能合約開發(fā),大體上就是 看懂(ERC) + 活用(ERC+開源鏈上合約代碼) + 簡單的邏輯調(diào)整改造(目的是貼合自己實際需求) 即可完成 ?。
進行簡單的合約開發(fā),推薦您用 Remix IDE;如果您是資深開發(fā)人員,更習(xí)慣于命令行式的開發(fā)和調(diào)試,可以選擇 Truffle 套件。
能夠看懂大部分 ERC 之后,可以嘗試看一些成功的鏈上項目了解更多鏈上應(yīng)用的全貌,之后就能嘗試自己構(gòu)建鏈上應(yīng)用。推薦您先從 0 開始仿寫剛剛學(xué)習(xí)完的鏈上項目,就選擇簡單的即可,多完成幾個項目仿寫之后,相信您在自由構(gòu)建的路上,應(yīng)該不會有太大的困難。但需要注意的是,智能合約中像Dos攻擊、短地址攻擊、交易順序依賴、偽隨機等被Q爛的漏洞,也需要做到心中有數(shù)哦。
下面我會介紹兩個開發(fā)IDE/工具套件,和推薦入門學(xué)習(xí)的鏈上項目,供您參考。
Remix —— 新手友好的可視化 IDE
Remix 是以太坊提供的可視化 Solidity 智能合約開發(fā) IDE ,頁面新手友好,在實現(xiàn)合約編輯、一鍵部署上鏈、合約接口測試、bug單步調(diào)試等全套功能的同時,界面簡潔大氣,用戶還有多種前端風(fēng)格可選,實用性和美觀性上都得到了很好的滿足。
Truffle —— 進階聯(lián)調(diào)抗打小能手
Truffle 套件能夠?qū)崿F(xiàn) Remix 的功能,是命令行式的交互模式。Truffle 允許你以腳本的模式構(gòu)建測試文件,后面合約代碼的修改,只需一鍵執(zhí)行測試文件即可,有時測試文件也需要配合進行微調(diào)。如果測試時您用的是 Remix,那可能需要在每次代碼調(diào)整后,重新手動執(zhí)行全套的測試流程。在自動化測試方面,Truffle 拔得頭籌。
使用 Truffle 時,您可能還需要 Ganache 的輔助支持,以更方便、快捷地獲得及查看測試地址的余額信息及鏈上交易狀態(tài)。
Dapp 入門
Dapp 的入門學(xué)習(xí)首先推薦兩個使用了 REC721 標(biāo)準(zhǔn)的鏈上項目:加密貓——CryptoKitty 和 阿蟹——Axie Infinity。CryptoKitty 的合約邏輯非常簡單,有興趣的伙伴可以看一下我的這篇博文教程。Axie Infinity 的合約邏輯涉及權(quán)限控制,會稍微復(fù)雜一丟丟,我的博文教程也在計劃之中了,大家敬請期待。
Defi 入門
Defi 主要是使用 REC20 標(biāo)準(zhǔn)的鏈上項目,推薦你看借貸相關(guān)的 Compound、Aave,去中心化交易所相關(guān)的 Uniswap 入門。他們可比永續(xù)合約、衍生品、期權(quán)要友好的多,不需要你有太多的金融知識。
AAVE 是基于 Compound 構(gòu)建的,目前 AAVE 的合約已經(jīng)更新到了第三個版本,整體給我的感覺就是第一個版本比較混亂,學(xué)習(xí)的過程中內(nèi)心無數(shù)次想要尖叫,學(xué)完之后就會覺得,也就那樣吧。第二個版本代碼相對整齊了很多,推薦讀代碼時容易被各種繁雜內(nèi)調(diào)搞到頭大的小伙伴可以略過 V1 直接從 V2 入門。第三版本的代碼整潔得就像軍事化管理下的干凈,不推薦新手直接閱讀,容易陷入迷宮困境。
上訴三個 Defi 項目的博文教程也在我的計劃之中,V1 的 AAVE 應(yīng)該會是最先推出的,大家敬請期待。
結(jié)語
以上就是我推薦的 Solidity 智能合約技術(shù)成長之路,從 ERC 標(biāo)準(zhǔn)入門,然后學(xué)習(xí)常用的開發(fā)工具,接著閱讀成功鏈上應(yīng)用的開源代碼,然后可以開始自己嘗試仿寫構(gòu)建,最后在了解常見漏洞規(guī)避方法的基礎(chǔ)上,就能輕松踏上合約開發(fā)之路了。
記得,合約開發(fā) == 看懂(ERC) + 活用(ERC+開源鏈上合約代碼) + 簡單的邏輯調(diào)整改造(目的是貼合自己實際需求)。文章來源:http://www.zghlxwxcb.cn/news/detail-816817.html
?? ? 下課。文章來源地址http://www.zghlxwxcb.cn/news/detail-816817.html
到了這里,關(guān)于猿創(chuàng)征文 | Solidity 智能合約技術(shù)成長之路的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!