上一篇文章我們解釋了有關智能合約的運行環境、程式語言以及開發環境IDE,今天讓我們用BAYC猴子的NFT,來更深入的看看智能合約吧
首先在OpenSea上的頁面搜尋BAYC
在頁面上找到此圖示的按鈕並進入
進入Etherscan後即可開始觀察網頁
左上角可以看到類別是Contract合約
右邊則可以看到誰是此合約的部屬人
下方則有所有近期跟合約互動的交易紀錄
點擊Contract進入合約部分
第一部分為作者開源的程式碼,可以看到他是用Solidity撰寫
第二部分則為ABI CODE,其用意有點像涵式說明書,用來描述你的涵式需要什麼資料來做什麼事情
而最後第三部分就是Byte Code了,也就是真正上鏈的資料,是給機器讀的人類無法看懂
前面有提到最後要上鏈的合約會是Byte Code,也就是人類看不懂的編碼,那究竟要怎麼驗證這個合約的真實性呢? 其實就是透過Etherscan這個第三方平台做驗證,透過原作者登入自己的錢包並連結網站,上傳自己尚未Compile(編譯)
的程式碼(也就是前面的第一部分),再交由Etherscan重新編譯一次,若輸出的Binary Code與鏈上的合約一模一樣,那就是沒問題囉!而這就是合約綠色勾勾的條件。
Etherscan其實就是以太坊上的瀏覽器,你可以在這裡搜尋到任何人的錢包地址、合約、又或是代幣,隨心所欲地在上面瀏覽全世界的交易紀錄,毫無隱私。
這邊簡單教大家如何查詢自己的錢包地址:
首先進入Etherscan.io
打開小狐狸錢包並複製貼上地址
接著就可以看到許多資訊囉!
包含你現在錢包有多少ETH以太幣及當前價值
有哪些及多少ERC20的代幣,像是我錢包有125顆SAND幣(當前價值$104美元)
跟ERC721的代幣,可以看到我有8個ENS的NFT的代幣...
以及下面所有歷史的交易紀錄
今天簡單介紹了如何從OpenSea連結到該NFT的智能合約並查閱,明天讓我們開始閱讀BAYC的合約吧!
<上一篇> [Day 18] 看懂智能合約,如何在以太坊上運行?
<下一篇> [Day 20] 從BAYC猴子的智能合約 看懂背後運作原理(二)ERC721標準與OpenZeppelin
參考資料: