區塊鏈錢包基本概念與使用 — (2)

s0ny
Master’s note
Published in
Feb 21, 2022

在上一篇談到如何安裝Metamask錢包,在這一篇會進到如何使用Metamask錢包,但我的經費有限,所以不會使用Ethereum主網來當作示範,我會透過Okex所推出OEC鏈來進行操作(目前手頭上有的公鏈幣只有OKT),在整體的操作上,就只是幣、手續費以及主網不同而已(有人可能會對幣有疑問,一樣的幣在OEC跟ETH可能會不同,這個會在後面智能合約進行解釋)。

首先,在MM錢包主畫面的右上角可以看到目前的區塊鏈網路,下方的圖片是正在連接以太坊的主網路

MM錢包主畫面

如果我要換成其他的區塊鏈網路,只要點擊以太坊主網路的字,下拉式選單中點擊「新增網路」,就會進到下方的頁面

MM錢包新增區塊鏈網路頁面

在這個頁面中,我們必須填入「網路名稱」、「RPC節點*」(讀取資料、交易發送的代理節點)以及「鏈ID**」,而Currency symbol(在不同的區塊鏈上所使用的通用貨幣都不一樣,以ETH主網用的通用貨幣叫做ETH,而BSC上則稱為BNB)以及區塊鏈瀏覽器可填也可不填,為了不與以太坊主網路混淆,所以我們在這邊都會填入。以下為Binance Smary Chain, BSC主要區塊鏈網路的相關資訊:

BSC主要區塊鏈網路:

  1. 網路名稱:BSC
  2. RPC節點:(下列擇一填入就好)

2. Chain ID: 56 (十進制是「56」,如果無法使用就得改回16進制「0x38」)

3. CurrencySymbol:BNB

4. 區塊鏈瀏覽器:https://bscscan.com

按下儲存後

大致使用EVM系列的區塊鏈網路都可以用此種方法連接,當然還有更懶人的新增方法,可以透過 https://chainlist.org/ 這個網站找尋你要的區塊鏈網路進行新增。(使用這個網站的時候,MM錢包會要求你與這個網站進行連接,主要是讓這個網站能抓到你的MM錢包,但不會造成助記詞或私鑰洩漏,但要注意的是加的網路是不是官方的網路、節點)

在前面我們已經新增了區塊鏈網路,現在我們開始要新增ERC-20代幣,這裏要比較注意的是,每一種ERC-20代幣都是透過智能合約(Smart Contract)所生產出來的,而代表代幣的出處則是合約地址,所以透過合約地址我們就能認清產地,認清代幣合約地址是不是項目方所部署的代幣合約。

因此,在這邊我們會以BSC上的Cake代幣來做示範,MM錢包主畫面的下方有個Import Token,點下去之後會出現以下的畫面。

我們可以從Pancake官方手冊查詢Cake代幣所在哪條鏈以及合約地址(如果官方的手冊有寫的話)

Cake的合約地址:0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82

(這篇文當下寫的時候合約地址,麻煩讀者要加入代幣的時候,檢查再檢查是否跟官方發佈的合約地址一樣)

把合約地址輸入到代幣合約地址的時候,會自動補齊代幣代號以及小數點精度。(會自動補齊是因為Cake比較多人使用,有些幣種不會自動補齊,要自行填入)

按下Add Custom Token後,會再次確認是否要加入代幣。

點擊Import Tokens後就會加入代幣,在主畫面也可以看到賬戶擁有多少Cake代幣。

加入代幣的過程中,比較重要的是確認合約地址是否與官方的代幣合約地址正確,以USDT來說,每個人都可以部署代幣合約來創造新的USDT,但正版的USDT就只有一個,只要不小心輸入到非官方的USDT代幣合約地址,可能就會交換(Swap)到非官方的USDT代幣。

接下來,開始進入到錢包的重頭戲——「發送交易」以及「合約互動」,但合約互動也需要發送交易,為了方便解釋發送交易以及合約互動的不同,所以在這裡我會分為兩次不同的操作,主要是因為純「轉帳交易」(BNB、ETH、Matic、OKT等公鏈幣)以及與智能合約互動的交易所使用到的操作以及交易手續費(Gas fee)會不同,尤其是在智能合約的互動上,所要注意的細節會比較多,在接下來的文章也會一一解釋。

在純粹轉帳交易上,我會用以太坊的Rinkeby測試網路作為示範,我沒有ETH、Matic以及BNB幣(可以捐助我XD)。在錢包的主畫面上可以看到「發送」的按鈕,點下去之後就會進入到下方的畫面

上方的畫面是詢問你要轉帳給誰,框框內可以填入錢包地址、ENS(一種取代錢包地址的縮地址,像是網際網路的縮網址一樣),這邊當然也可以使用QR code掃描。(不過,在這邊要注意的是,透過掃QR code的方式要比對地址是否與你要轉帳的錢包地址一樣,之前有過不少案例是QR code被替換後,在發送時沒有再次確認,導致轉帳不是轉給當初要轉的錢包地址,而是轉到駭客的錢包地址中)

在這邊是填我冷錢包的地址以及要轉的數量,要注意的是,轉的數量除了要低於餘額外,還要留一筆錢作為手續費使用

按下一頁後就會詢問是否確認轉帳,以及確認手續費的費用。在這邊就要進入到更細節的部分,就是如何節省交易手續費,但又不會被拒絕的操作。首先,在「Estimated gas fee」這行上方有個編輯可以點擊,點下去之後可以設定你所想要支出的手續費。

左邊第一張圖是點擊編輯後所看到的畫面,在這邊可以使用MM錢包提供的三種模式的手續費支付,依左至右為「Low」、「Medium」、「High」。Low為支付較少的手續費;Medium為支付剛好的手續費;High為支付較多的手續費,所以,支付越多的手續費,交易越被先礦工驗證與快速成交。

那麼,除了以上三種模式外,還可以使用自定義變數的方式,就如下方右圖所示(在這邊要提醒一下,在EIP-1559之後的手續費計算會與之前有所不同,我會再寫一篇文解釋EIP-1559前後的手續費支付計算方式,公式一樣不變,Gas Price的部分拆解成base fee以及給礦工的tip,)

Gas limit依然是21000,而Max priority fee是要給礦工多少小費,而Max fee的部分要大於等於 Base fee + Max priority fee,只要交易所要耗掉的手續費以及給完礦工的小費,剩下的手續費沒用完都會還給使用者。

確認完手續費後,按下「確認」就會透過節點把交易廣播出去,讓礦工進行驗證,在錢包的主畫面上可以看到這一筆轉帳交易,整個過程需等待大約10–15秒的時間。

而交易確認完畢後,可以點擊交易進行更進一步的確認交易細節,之後會在後面的文章講解如何從區塊鏈瀏覽器尋找自己的交易,包括在哪個區塊、哪個時間點確認以及被誰確認等資訊。

純轉帳交易的步驟大致這樣,其他EVM系列鏈的轉帳交易也是如此(BNB、Matic、OEC等),如果是ERC-20代幣的轉帳,就要觸發智能合約的函數,就會跟鏈上的純轉帳交易會不一樣,所需要的手續費會比純轉帳交易多一些。所以,智能合約互動的文章內容會比較長許多,會新寫一篇文章作為這一系列的新文章,這篇文先到此這樣。

--

--