Solidity Remix介紹

學習 Solidity 前,先確保你有安裝 MetaMask,如果還沒安裝的話可以參考這篇文章,以及到這個網站領取 Rinkeby 測試網的幣唷。

Chainlink Faucets - Get Testnet Tokens
Get testnet tokens from network faucets. Multiple assets available. Experiment with smart contracts today.
MetaMask教學,如何建立小狐狸錢包?
什麼是熱錢包?如何建立小狐狸錢包?這篇將教你如何建立一個MetaMask小狐狸錢包,還有該如何管理自己的資產與關於保護錢包的基本知識! 什麼是熱錢包? 在建立狐狸錢包前,你需要先知道熱錢包是什麼!像是這次介紹的狐狸錢包也就是熱錢包的一種,是可以透過電腦、手機連網使用的錢包。 用戶可以透過熱錢包快速方便的查看、接收、寄出或是授權,好處就是使用上方便快速,但缺點也就是安全性相較於冷錢包差一些,如果你的上網習慣不好或是欠缺資安知識,就有被盜的風險在。 所以會建議主要資產都放在冷錢包,而在玩GameFi或是新的項目需要授權時,就將冷錢包的小額資產轉到熱錢包,在透過熱錢包去授權項目,這樣會更安全些。 有些人可能會把這個錢包與交易所錢包搞混,不知道兩者有什麼區別,舉例來說就是當你看到右上角有Connect Wallet這個時,就是需要用到MetaMask這錢包來連接。 通常像是在Mint NFT時,又或是玩GameFi的遊戲,都是需要透過這個MetaMask錢包才能達成,所以你的交易所錢包是不能存放NFT的,也無法透過交易所錢包在OpenSea購買NFT。 我最近也有買了CoolW

在開始介紹Solidity的知識前,會先介紹一下官方的編譯器,以便之後學習時可以在上方測試合約有無問題,如果想下載桌機版本也有附Github連結,但我覺得目前線上的就很夠用囉。

Remix - Ethereum IDE
Releases · ethereum/remix-desktop
Remix IDE desktop. Contribute to ethereum/remix-desktop development by creating an account on GitHub.

點進去Remix線上編譯器之後會顯示如下,接著會介紹一下基本功能有哪些、如何使用等,首先白線是Workspaces的建立、重新命名、刪除、下載、上傳等。

而藍線是新增檔案、新增資料夾、上傳檔案至GitHub、上傳本機檔案,建議新增合約的檔案可以在contracts中建立,而Solidity合約的副檔名為.sol。

Remix 介面教學

左側第三個是編譯,版本通常會根據你合約寫的內容自動調整版本,Auto compile可以勾起來,他就會自動編譯,有勾勾就是沒問題,也可以手動Compile所以自行選擇。

Solidity 編譯

也順帶附上Solidity的簡體中文文檔,有點像是程式語言的基本使用說明書的概念,想學習的話也可以稍微看一下這個文檔!

相關連結:深入理解Solidity-Solidity develope文檔

如何查看區塊鏈瀏覽器上的Contract?

這裡以BAYC的NFT Contract做示範,點擊進去之後看到Contract那裡,就可以看到合約的程式碼,也可以直接在下面這段連接的後面加上#code,也可以直接跳到程式碼的部分。

https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d

這裡是拿Etherscan作為示範,如果是幣安鏈或雪崩鏈也都是一樣的方式就可以看合約代碼!

所以以後不管你是玩GameFi、DeFi或是特殊玩法的NFT,都可以透過合約看到他們是怎麼做到的,而且如果你看到有不開源的合約,千萬要注意,通常不開源的風險都是比較高的,就不建議參與。

BlockChain 模擬器

這裡附上一個區塊鏈模擬器,以較簡單的方式告訴你為什麼區塊鏈的不可竄改性!

相關連接:BlockChain Demo

到網站之後,可以看到綠色是合格的區塊,如果更改了前一個區塊的任何資料,後面的幾個區塊就會顯示為紅色的不合格區塊。

Prev就是前一個區塊的雜湊,所以第一個區塊沒有前一個區塊,就是從全0開始,而第1個區塊將Block、Nonce、Data、Prev一起雜湊之後,就會出現區塊1的Hash。

第2個區塊的Prev為第一個區塊的Hash,所以當前面任何一個區塊更動時,後面的Hash就會完全不符合,而顯示為不合格的紅色。

BlockChain 模擬器-1

像是我將第一個區塊的Data加入內容後,點擊Mine就會挖出一個Hash不一樣的區塊,再直接點擊區塊2的Mine,區塊2就會出現一個完全不同的Hash。

所以當你想要更改其中一個區塊時,必須將後面的區塊都重新挖過才能,這也是為什麼區塊鏈有不可竄改性,當你想改的區塊越前面,後面的區塊累積的越多,就更加安全。

BlockChain 模擬器-2

這次的第一篇教學就到這邊,之後就直接從合約來教你如何看懂合約,熊市特別需要學習,所以請大家學習多多分享,也可以到阿高的 Discord 共同討論唷!