iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0
Web 3

從 區塊鏈 到 去中心化應用程式(DApp)系列 第 20

智能合約開發: 測試網路(Ganache)與虛擬錢包(MetaTask)

  • 分享至 

  • xImage
  •  

測試網路(Ganache)與虛擬錢包(MetaTask)

智能合約是區塊鏈技術的重要組成部分,
它們是在區塊鏈上執行的自動化協議,無需中介方的干預。

智能合約的編寫和部署是區塊鏈應用程式開發的關鍵步驟之一,
為了確保其正確性和穩定性,開發人員需要進行廣泛的測試。

而下文就依以下重點進行敘述

  1. Ganache
  2. Ganache 安裝與使用
  3. MetaTask
  4. MetaTask 安裝與使用

Ganache

它提供了一個本地以太坊區塊鏈環境,
開發人員可以使用該環境進行合約開發和測試,
無需實際花費以太幣來執行交易

就是一個不須實際花費真實以太幣的開發空間

1. 本地區塊鏈模擬

Ganache允許您在本地上模擬以太坊區塊鏈。
這意味著可以隨時創建和銷毀測試網路,
而無需擔心真實的以太坊網路。

2. 輕松創建虛擬帳戶

可以輕松地創建虛擬以太坊帳戶,
每個帳戶都附帶一定數量的虛擬以太幣。

這使能夠在模擬環境中進行交易和測試,而無需真實資金。

3. 快速挖礦

Ganache無需等待實際網路上的挖礦過程。
這有助於加快開發和測試速度。

4. 詳細的交易日誌

Ganache會記錄模擬網路上的每筆交易,包括合約的調用和狀態變化。
這有助於開發人員更容易地調試合約和分析交易行為。

Ganache 安裝與使用

1. 首先根據自己的作業系統進行下載

官方網址: https://trufflesuite.com/ganache/

下載後會是一個執行檔 請點擊後繼續

2. 點擊 Install 安裝 (Launch when ready 代表完成後開啟)

3. 點擊 Continue 就可以前往主頁面

4. 開始模式選擇

類型選擇:

在 QuickStart 與 New WorkSpace 右方按鈕可以選擇 ETHEREUM 或是 FILECOIN
(這邊選擇 ETHEREUM 測試乙太坊)

模式選擇:

  1. QuickStart:
    可以直接開始一個模擬環境配置。配置都採用預設值。
  2. New WorkSpace:
    可以對細節做調整 包括名稱、區塊鏈網路的伺服器位置、初始帳戶金額與數量等等。

    細節便不贅述,可以自己去調整嘗試
    點擊 Start 後面進入模擬區塊鏈的環境畫面

5. 模擬區塊鏈畫面

1. 模擬區塊鏈功能

  1. Account 帳戶資訊
  2. Block 區塊資訊
  3. Transaction 交易資訊
  4. Contracts 合約
  5. Event 事件
  6. Logs 日誌紀錄

2. 模擬區塊鏈資訊 :

包含
當前區塊位置(0)、
服務的位置(http://127.0.0.1:7545) 、
挖掘模式(自動挖掘)、
模擬區塊鏈名稱(STANDING-WISH) 等等資訊

帳戶資訊:

  1. 畫面中有帳戶的金額(100ETH)與地址
  2. 點擊帳戶右邊的鑰匙圖示可以看到該帳戶的私鑰
    (依第一個帳戶為例)

    下方紅字顯示
    記住使用私鑰僅為開發時的用法 絕對不能放在公開的區塊鏈

MetaMask

MetaMask是一款受歡迎的以太坊虛擬錢包擴展。

它不僅僅是一個數字資產錢包,
還用於與以太坊智能合約進行交互和測試。

1. 虛擬錢包功能

MetaMask允許用戶管理以太幣和其他以太坊資產,而無需離開瀏覽器。

2. Dapp的整合

MetaMask能夠與去中心化應用程式(Dapp)無縫整合。
後續再創建去中心化應用程式(Dapp)也會使用這項服務。

3. 自定義網路

MetaMask允許用戶自定義連接到的以太坊網路,因為它使開發人員能夠輕松地在不同網路之間切換。

MetaTask 安裝與使用

MetaTask 安裝

Edge 插件網址:
https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm

Chrome 插件網址:
https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn

點擊取得即可安裝

點擊新增擴充功能

建立錢包或引入錢包

它就是一隻可愛的小狐狸 (哈哈哈

創建的細節 基本上就跳過

總而言之 重點就是使用助記詞 並產生整個錢包

備註:
區塊鏈錢包 邏輯如下:
    1. 藉由 "助記詞" 產生 "私鑰"
    2. 再由 "私鑰"  產生 "公鑰"
    3. 再由 "公鑰"  產生 "地址"

所以 助記詞 與 私鑰 同等重要 千萬不能洩漏

錢包畫面

MetaTask 新增 Ganache 網路

點擊新增網路

(請先確保先前Ganache 仍保持啟動著)

點擊儲存 以新增網路

就會發現新增一個測試網路

MetaTask 匯入 Ganache 帳戶

點擊上方帳戶位置 並選擇匯入帳戶

輸入在 Ganache 帳戶裡面的帳戶私鑰 並點擊匯入

噹噹~ 成功匯入帳戶 有 100 ETH
有種富豪的感覺齁 哈哈哈~~~

MetaMask 進行交易

請依照上方模式在建立一個 Account3

點擊發送並傳送給Account2

這樣即是傳送 20 ETH 給 Account2

重新觀察 Ganache 變化

  1. 區塊增加一個區塊
  2. 第一個帳戶多了 20 ETH
  3. 第二個帳戶少了 20 ETH

新增的區塊內容

新增的交易內容

結言

今天介紹了 Ganache 與 MetaTask 這兩項工具

分別是作為 本地開發的測試工具 與 區塊鏈錢包

這都是對於開發 區塊鏈相關應用 非常重要的環節

而且應該講的可以算是超級詳細了吧!!!

最後希望透過這篇能理解

  1. Ganache 作用
  2. Ganache 下載與使用
  3. MetaTask 作用
  4. MetaTask 下載與使用

下回預告

如今已經會使用 區塊鏈錢包 以及 測試用的區塊鏈網路

而且剛剛也有在 Gaanache 看到 合約這個關鍵字

好想趕緊來寫個合約阿~~~

好好好 是是是 但開發工具來說其實也蠻多種

要用哪一種呢? 這次想介紹 Hardhat 開發工具

為甚麼是它呢? 那就請期待下回!

下回 "智能合約開發: Hardhat 智能合約開發工具"


上一篇
智能合約開發: Solidity 與 智能合約基礎介紹
下一篇
智能合約開發: Hardhat 智能合約開發工具
系列文
從 區塊鏈 到 去中心化應用程式(DApp)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言