Conflux Studio 新版教程詳解

Conflux Studio 是一個幫助開發者快速開發 Conflux 智能合約的集成化開發環境。

經過了一段時間的運行,並伴隨這 Conflux 網絡(Tethys)的多次迭代升級,Conflux Studio 現已提供運行於 macOS、Windows 和 Linux 的桌面版,以及運行於現代瀏覽器環境中的 Conflux Studio Web 版。

Conflux Studio 桌面版

Conflux Studio 安裝包可以在 Github Releases 進行下載。目前 Conflux Studio 桌面版支持 macOS、Linux 和 Windows 系統,請根據系統下載對應的版本 (macOS 下載 .dmg 或者 .zip,Linux 下載 .AppImage, Windows 下載 .exe)。

macOS: 雙擊打開 ConfluxStudio-x.x.x.dmg 並將 Conflux Studio 拖動到應用文件夾內。

第一次運行 Conflux Studio 時,可能會收到系統 ”無法打開 “Conflux Studio”,因為 Apple 無法檢查其是否包含惡意軟件“ 的提示。此時請打開 系統偏好設置 ,前往 安全性與隱私 。點按 通用 面板中 仍要打開 按鈕以允許 Conflux Studio 運行。

Linux: 雙擊打開 ConfluxStudio-x.x.x.AppImage, 選擇 Properties => Permissions => Execute, 將 Allow executing file as program 選項打勾。關閉屬性設置窗口並雙擊打開應用(不同的 Linux 發行版可能會有不同的安裝方式)。

Windows: 雙擊打開 ConfluxStudio-x.x.x.exe。


Conflux Studio Web 版

在瀏覽器中打開 https://conflux.ide.black 以訪問 Conflux Studio Web 版。

通過 Conflux Studio 可以開發基於 Conflux 區塊鏈上的智能合約。智能合約類似於傳統開發流程中的後端服務,它規定一系列鏈上的交易以完成我們開發中所設定好的功能任務。為了使用戶能夠方便的調用這些底層服務,避免不必要的門檻和編程的麻煩,我們也還需要編寫一個前端應用作為用戶界面。這個前端應用以及後端服務組成了一個簡單易用的區塊鏈應用,也叫去中心化應用或者 DApp。

你可以前往 Conflux DApp 開發教程學習如何使用 Conflux Studio 完整地開發一款通證 DApp。

以下示例以 Conflux Studio v0.14.0 macOS 桌面版為例,Conflux Studio 各版本操作界面和功能均保持一致,實際操作以界面顯示為準。

準備工作

在正確安裝 Conflux Studio 桌面版並初次啟動時,你將看到一個歡迎頁面,同時也是環境準備界面。這裡列出了 Conflux Studio 正常運行所需要的依賴,包括了 Docker,Conflux Node 以及 Conflux Truffle。因為 Conflux Studio Web 版無需安裝依賴,所以訪問 Web 版將直接進入主界面。

Conflux Studio 使用 Docker 來啟動 Conflux 節點和進行項目編譯。如果你之前沒有安裝過 Docker,可以點擊 Install Docker 按鈕訪問 Docker 官方網站並進行下載安裝。

Conflux Node 是 Conflux 官方提供的 Conflux 節點鏡像,Conflux Studio 使用這個鏡像來運行 Conflux 節點以及項目編譯。

Conflux Truffle 是 Conflux 版本的 Truffle。 Conflux Studio 使用這個工具包進行項目的創建和編譯。

密鑰管理器

進入主界面後,我們需要首先創建一些密鑰對。在 Conflux Studio 的任意界面,點擊應用左下⻆的鑰匙圖標,打開密鑰管理器。


密鑰管理器會將不同網絡下的密鑰對進行分類顯示,如果需要查看或管理其他網絡下的密鑰對,點擊密鑰管理器中間的標籤以切換顯示不同網絡下(Local develop networks、Testnet、Tethys Mainnet)下的密鑰對,你也可以點擊全部網絡 (All) 以顯示所有密鑰對。

你可以在密鑰管理器中創建、導入並管理密鑰對。點擊密鑰管理器左下角的 Create 按鈕,根據提示輸入密鑰對名稱並選擇網絡以新建一個密鑰對。密鑰對名稱是一個由用戶自定義的名稱,目的是方便在後續的使用中進行識別。 Conflux Studio 支持以私鑰或助記詞的方式生成密鑰。生成密鑰時,默認以私鑰方式生成。如需切換為助記詞,請點擊 Regenerate 按鈕旁邊的三角箭頭切換。

如需導入密鑰,點擊密鑰管理器左下角的 Import 按鈕,輸入密鑰對名稱,並在私鑰/助記詞輸入框中輸入希望導入的私鑰或助記詞,Conflux Studio 將根據輸入格式自動檢測。如果輸入的是有效的私鑰或助記詞,輸入框下方將顯示對應的地址,確認無誤後點擊 Import 按鈕即可完成導入。

在繼續之前,請先在密鑰管理器中創建一些密鑰對,以便我們完成接下來的操作步驟。

注意:私鑰和助記詞是證明密鑰所有權的關鍵憑證,請妥善保管,不要與他人分享。洩漏私鑰或助記詞,可能導致數字資產永久丟失。

網絡管理

本地開發節點

點擊頂部的 Network 標籤,主頁面將切換為網絡管理器。在網絡管理器中,我們可以進行 Conflux 節點版本和節點實例的管理,包括下載、刪除 Conflux 節點版本,根據不同版本創建、刪除和運行節點實例。

點擊主頁面中右上角的 New Instance 按鈕打開創建新實例的彈窗,填寫實例名稱和選擇合適的版本,點擊 Create 按鈕完成節點實例的創建。

創建新的 Conflux 節點實例時,你需要在密鑰管理器已保存的密鑰地址中指定一個礦工(Miner)。 Miner 將作為本地網絡的礦工進行出塊,並持續獲得 CFX 通證作為獎勵。當 Conflux 本地節點第一次運行時,會將密鑰管理器裡所有的地址作為創世地址,每個地址會因此得到 10,000 CFX 的初始通證。

節點實例創建完成後,點擊實例的綠色 Start 按鈕啟動 Conflux 節點。啟動完成後,你可以在下方的日誌查看器中檢查節點運行日誌。

Conflux 網絡

Conflux Studio 中已經內置了 Conflux 網絡的鏈接信息。點擊 Network 標籤旁的三角箭頭,可以直接選擇連接或者一鍵切換希望使用的 Conflux 網絡。

自定義網絡

Conflux Studio 支持連接自定義遠程網絡節點。點擊 Network 標籤旁的三角箭頭,選擇 Custom Network。根據提示輸入希望連接的 Node URL 信息即可連接。

區塊瀏覽器

節點啟動後,點擊頂部的 Explorer 標籤,主頁面將切換為區塊瀏覽器。在區塊瀏覽器中,我們可以查詢對應地址的信息。這些信息包括通證信息以及交易記錄。

點擊 Explorer 標籤右側的三角箭頭,在下拉菜單中選擇希望訪問的密鑰地址,即可查看對應地址的賬戶信息了。另外,也可以在區塊瀏覽器的地址欄中輸入待查看的密鑰地址來查看信息。目前 Conflux Studio 暫不支持查看本地開發節點的歷史交易記錄。將網絡切換到測試網或 Conflux 網絡(Tethys),區塊瀏覽器中便可以查看歷史交易記錄了。

當連接網絡查詢信息時,區塊瀏覽器可以顯示地址下所有 ConfluxScan 已收錄的 Conflux網絡中的 CRC-20 通證信息(CRC-20 標準與 ERC-20 標準是等價的,本教程將不區分 ERC-20 和 CRC-20)。

Conflux Studio 區塊瀏覽器在地址欄右側集成了常用工具以方便用戶使用,可以單擊按鈕調用相應工具:

點擊 Transfer 按鈕以進行快速轉賬,該轉賬功能支持使用 CFX 或其擁有的 ERC-20 通證進行交易。在轉賬彈窗中選擇需要轉賬通證,填寫參數後點擊 Sign and Push 以執行交易。每筆轉賬交易都會在歷史交易記錄中以便之後再次查看。

點擊 Convert 按鈕以進行地址格式轉換。

當連接測試網時,點擊 Faucet 按鈕可申請測試通證。每次使用 Faucet 功能時,Conflux Studio 會自動申請 1,000 CFX 以及 1,000 cUSDT 兩種測試通證。不過,測試網上所申請的這兩種通證均為測試通證,是沒有實際價值的。


智能合約項目

項目列表

點擊頂部的 Project 標籤,主頁面將切換至項目管理器。點擊頁面右上角的 New 按鈕打開創建項目彈窗,輸入項目名稱並選擇合適的模版,Conflux Studio 目前提供了多種模版:

Coin:Conflux 實例提供的 Coin 智能合約。

Sponsored Coin:Conflux 實例提供的 Sponsored Coin 智能合約。

[Open Zeppelin]:基於 Open Zeppelin 智能合約庫的模板,提供了 ERC-20、ERC-721(NFT)、ERC-777 和 ERC-1155 等合約。

[Truffle] Metacoin:使用 Conflux Truffle 創建的合約。目前 Conflux Studio 暫不支持部署 Metacoin 合約。

這裡我們使用 Open Zeppelin 的 Basics 模版創建一個名為 my-project 的項目,並使用這個項目完成後續操作。

項目編輯器

項目創建完成後,主頁面將切換至項目編輯器。項目編輯器由幾個部分組成,包括了左側的文件瀏覽器,文件瀏覽器上方的工具欄,右側上半部分的代碼編輯器以及右側下半部分的日誌查看器等多個開發常用模塊。

點擊工具欄中右側的 Project Settings(齒輪形狀)圖標,打開項目設置標籤頁。在這裡可以查看和修改項目的基本配置,編譯器配置以及 Linter 配置等信息。

Conflux Studio 的項目編輯器內置了 Linter,可以在代碼編輯過程中自動檢查代碼並提示項目代碼中的警告和錯誤。項目編輯器會在有警告的代碼行前標註黃色的驚嘆號,在錯誤的代碼行前標註紅色的叉作為提示。

編譯智能合約

點擊工具欄的 Build 按鈕(錘子形狀),Conflux Studio 將進行項目的編譯,你可以通過下方的日誌查看器來查看編譯結果。編譯後將在項目目錄下的 build/contracts 文件夾中查看到編譯完成的 *.json 文件,這些編譯輸出文件的數據格式可參閱 solc 文檔。

另外也可以通過右鍵點擊 sol 文件,在菜單中選擇 Compile,單獨編譯選中的合約文件。

部署智能合約

點擊工具欄的 Deploy 按鈕(船形狀),部署合約彈窗將被打開,在這裡可以輸入部署合約所需要的各項參數:

  • Compiled Contract:等待部署的合約編譯輸出文件,為 JSON 格式。一個項目內可能存在多個合約,可以通過下拉菜單中選擇需要部署合約的編譯輸出文件;
  • Constructor Parameters:合約構造函數需要的參數,Conflux Studio 將自動根據數據格式生成參數表單,在此填入創建合約所需要的各項參數;
  • Signer:為合約部署交易進行簽名的密鑰地址,需要為密鑰管理器中已有的密鑰,通過下拉菜單中選擇;
  • Gas Limit、Gas Price、Storage Limit:合約部署的交易費用信息,部署前 Conflux Studio 會進行估算,也可使用自行填寫的值進行覆蓋。

另外,也可以在文件瀏覽器中,右鍵點擊一個 JSON 格式的編譯輸出文件,在菜單中選擇 Deploy,對該合約進行部署。

現在右鍵點擊 GLDToken.json ,選擇 Compile 以調出部署彈窗。在彈窗中填寫構造函數參數,並選擇簽名密鑰地址後,點擊 Estimate & Deploy 按鈕,Conflux Studio 會自動估算所需的交易費用並填入對應欄目中。如需重新估算,請點擊左側綠色 Re-estimate 按鈕。有時候預估的交易費用可能是不夠的,如果部署的時候出現交易費用不足的錯誤,可以手動提高交易費用後重試。點擊藍色 Deploy 按鈕,Conflux Studio 將發送合約部署交易。

部署交易需要一些時間被區塊鍊網絡處理。大約十幾秒後,Conflux Studio 會彈出交易詳情彈窗顯示部署結果,包括部署參數(Parameters)、交易數據(Tx)、交易收據(Receipt)、ABI 等詳細信息,可點擊彈窗中的標籤進行切換。若在本彈窗關閉之後仍想查看本次部署結果和交易詳情信息,請參考歷史交易記錄。


調用合約

成功部署智能合約後,點擊彈窗中 Contract Created 欄的合約地址,頁面將自動切換至合約瀏覽器。你也可以點擊頂部的 Contract 標籤切換至合約瀏覽器,在地址欄中輸入希望打開的合約地址。 Conflux Studio 支持同時打開多個合約,方便進行多合約的調試工作。

合約瀏覽器頁面主要分為三個部分:

左邊欄用於調用合約的寫入方法:點擊藍色下拉框,選擇希望調用該合約的寫入方法;

中間欄用於進行合約的數據讀取:點擊藍色下拉框,選擇希望查詢該合約的讀取方法;

右邊欄用於進行合約的事件查詢,點擊藍色下拉框,選擇希望查詢該合約的事件。

Conflux Studio 在部署合約後將自動保存合約 ABI,並在讀取合約時候通過 ABI 中的數據,生成上面的寫入方法、數據讀取、事件查詢,和它們各自的參數表單。更多 ABI 的使用方法可以參考 ABI Storage。

接下來我們在合約瀏覽器中打開剛剛部署的 GLDToken 合約,演示如何使用寫入方法、讀取數據和查詢事件。

首先在寫入方法調用窗口中選擇 transfer 方法,這個方法將指定數量的通證從一個地址轉賬到另外一個地址。接下來填入完成交易必須的各項參數:

  • 在 Parameters 下從 recipient 下拉菜單中選擇 my-keypair-2 作為收款人地址(可以從密鑰管理器雙擊複製),並在 amount 中填入合適的數量。
  • 無需填寫 Gas & Storage 欄目中的交易費用(由 Conflux Studio 自動估算),
  • 在 Authorization 的 Signer 下拉菜單中選擇 my-keypair-1 創世地址,在本例中我們用創世地址作為匯款人地址。

完成後,點擊上方的方法名稱旁的 Execute 按鈕(三角形狀)執行交易。稍後彈窗會提示交易成功及交易費用信息。

接下來,我們來驗證一下上筆交易的結果。在合約讀取窗口中選擇 balanceOf 數據欄,在 Parameters 下 account 下拉菜單中選擇 my-keypair-2 地址,最後點擊上方的數據名稱旁的 Execute 按鈕(三角形狀)。結果會顯示在下方 Result 欄目中,這個結果與我們上筆交易中向 my-keypair-2 轉賬的 amount 數量一致,這驗證了我們之前交易的結果。

最後我們在事件查詢窗口中選擇 Transfer 事件,並點擊 Execute 按鈕(三角形狀)以查詢合約中所有 Transfer 相關事件,結果會顯示在下方 Event Logs 窗口中。在進行事件查詢時, Conflux Studio 允許自定義查詢範圍。但當連接本地開發節點或者測試網時,事件查詢最多只能返回 10,000 條記錄,請保持自定義範圍小於等於該數字。默認情況下事件查詢窗口將返回最新 10,000 條記錄。當連接 Conflux 網絡(Tethys)時,事件查詢最多只能返回 1,000 條記錄。

ABI Storage

在使用合約瀏覽器時,Conflux Studio 需要基於合約 ABI 生成各讀寫方法和查詢事件的界面,底部欄中的 ABI Storage 就是保存這些合約 ABI 的地方。在合約部署成功後,Conflux Studio 將自動保存合約的 ABI。當鼠標移動到 ABI 條目上時,可以點擊 Edit 按鈕(鉛筆形狀)查看 ABI 原始數據,也可以點擊 Delete 按鈕刪除 ABI 條目。

如果需要調用其它合約(例如線上合約),就需要將合約的 ABI 添加到 ABI Storage 中。使用 ABI Storage 中的 New 按鈕即可完成該操作。為方便使用,Conflux Studio 也會自動讀取當前項目中已編譯過合約的 ABI,單擊彈窗左下角 Select from the current project 按鈕,從列表中選擇即可。

歷史交易記錄

Conflux Studio 會記錄每筆發佈到鏈上的交易。如需查看最近的交易記錄,點擊底部欄的 Transactions 按鈕即可喚出最近交易記錄的列表。可以點擊單筆交易以打開交易確認彈窗,並查看交易詳情、參數 (Parameters) 、交易數據 (Tx)、交易收據 (Receipt)和 ABI 等詳細信息。

RPC Client

Conflux Studio 還提供了直接從底層調用 Conflux 節點 RPC 接口的功能。點擊底部欄的網絡按鈕,在彈出菜單中選擇並打開 RPC Client 後,可以看到 Conflux 節點的全部 RPC 接口。對每個 RPC 接口,Conflux Studio 也將生成對應的參數表格,填寫數據後點擊 Execute 按鈕運行,即可完成調用並查看返回數據。

本文不構成投資建議,虛擬貨幣波動大請謹慎小心

掌握虛擬貨幣、區塊鏈大小事

發表迴響