iT邦幫忙

2022 iThome 鐵人賽

DAY 18
0

上篇回顧

如果你想要買幣、買NFT、了解比特幣區塊鏈如何運作? 可以回顧前面的文章。從今天第18天開始就是硬核實戰訓練營,讓我們一起來研究以太坊的智能合約吧!以下講解需要有些微程式背景的人才看的懂,請見諒。


智能合約

前面有大致講過什麼是智能合約(Smart Contract)了,如果你還沒聽過智能合約這個名詞請先回顧[Day 9] 以太坊的真實力! 各種去中心化應用
用一句話來完整描述智能合約,那就是「一串在以太坊EVM上運行的程式碼」,這些智能合約其實是由很多個Functions/Methods組成,就跟我們寫程式用的涵式一樣,它是可呼叫可互動的。所以講白了智能合約就是一串程式碼罷了,它既不智能也不是合約,所以也有人直稱它為EVM CODE。不過要注意的是,當我們在上傳智能合約到鏈上時必須以Byte Code形式上傳,也就是一般人無法看懂但只有機器看得懂的01010101...

智能合約的特性

首先因為智能合約上鏈後的去中心化,導致了其Immutable(不可變)的特性,一旦被上傳就無法被修改或刪除(除非設計成Proxy Contract)。再者,若是作者有公開其原始碼,則可以輕易的看懂其運作原理,不需經過第三方來驗證/信任來執行(Truthless)。結合以上特性,最後就會衍生出前面提到的Dapp了,包括像是各種DeFi、DAO以及代幣、NFT等應用。

什麼是EVM

EVM為Ethereum Virtual Machine的縮寫,中譯是以太虛擬機,後綴也就是大家熟知的VM。為了讓所有程式在不同的礦工電腦上讀取/運算出來結果是一樣的,所以必須統一一個使用的環境,而這就是以太虛擬機誕生的原因。EVM目前也被廣泛的應用,包括了Polygon、BNB Chain等其他鏈的運作平台也都統一使用EVM運行。

程式語言與IDE

撰寫智能合約的語言主要有:Solidity、Vyper
而Solidity市占約9成以上,詳細差別就不多作介紹,目前使用率仍是一片倒,所以接下來將以Solidity為中心開發及講解。
IDE(開發環境)大家通常會使用Remix以及HardHat比較多,前者適合簡單小型的專案,可以快速的編譯後並直接上鏈測試,且其具備著不須下載的特性,只要直接進入網站就可以開發,連上錢包更可發佈合約,極為方便;後者通常為開發大型專案用,具有較多的功能及完整性,使用起來也就相對難一些喔~


小結

今天大致上先帶大家認識一下智能合約的撰寫語言、IDE以及運作環境,之後就都會使用Solidity語言+Remix網頁IDE來教程了,明天讓我們來看看猴子BAYC的合約吧?

<上一篇> [Day 17] FOMO到底是什麼意思? 幣圈常見用語大解析!
<下一篇> [Day 19] 從BAYC猴子的NFT 更認識智能合約(一)Etherscan


參考資料:


上一篇
[Day 17] FOMO到底是什麼意思? 幣圈常見用語大解析!
下一篇
[Day 19] 從BAYC猴子的智能合約 看懂背後運作原理(一)Etherscan
系列文
NFT、區塊鏈、比特幣,這些到底是什麼?? 讓我們從頭認識這些酷東西吧! 發出屬於自己的NFT!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言