初探Move語言:Part 3-建置Sui的開發環境

James Shieh
技術保鮮盒
Published in
6 min readJun 24, 2023

這一系列的文章,我想談談Move相較於Solidity有什麼特別之處,不過許多人可能對於這兩種語言都很陌生,甚至不太了解區塊鏈以及去中心化的概念,為了能與大家分享我研究新技術時的喜悅 — — 特別是它們能帶來什麼樣的可能性,我想盡可能地用簡短的文字幫大家建構區塊鏈的世界觀,這個世界觀不免有我主觀的想像,但我認為在這樣的脈絡下,比較容易講述程式語言對區塊鏈世界的影響。

他們說,「來吧,我們要建造一座城和一座塔,塔頂通天,為了揚我們的名,免得我們被分散到世界各地。」。但是耶和華降臨看到了世人所建造的城和塔。耶和華說,「看哪,他們都是一樣的人,說著同一種語言,如今他們既然能做起這事,以後他們想要做的事就沒有不成功的了。」讓我們下去,在那裡打亂他們的語言,讓他們不能知曉別人的意思。於是耶和華使他們分散到了世界各地,他們也就停止建造那座城。因為耶和華在那裡打亂了天下人的言語,使眾人分散到了世界各地,所以那座城名叫巴別。 — — 創世記11:4–9

上一篇:

前言

接著我們開始透過實作來認識Move,這裡我們選擇Sui這個公鏈作為練習,Sui 與Aptos 都屬於Move 語系,都可以使用Move語言來開發智能合約。

配置開發環境

使用以下命令在 macOS 或 Linux 上安裝 Rust 和 Cargo:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

用以下命令更新 Rust rustup

rustup update stable

macOS

若為其他環境,請參考:https://docs.sui.io/build/install

macOS 包含一個可用於安裝 Brew 的 cURL 版本。使用 Brew 安裝其他工具,包括較新版本的 cURL。

Brew

使用以下命令安裝 Brew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

cURL

使用以下命令更新 macOS 上的默認t cURL:

brew install curl

CMake

使用以下命令安裝 CMake:

brew install cmake

運行以下命令從分支安裝 Sui 二進製文件devnet

cargo install --locked --git https://github.com/MystenLabs/sui.git --branch devnet sui

安裝過程可能需要一段時間才能完成。您可以在終端中監控安裝進度。如果遇到錯誤,請確保安裝所有必備組件的最新版本,然後重試該命令。

要更新到 Rust 的最新穩定版本:

rustup update stable

該命令會在~/.cargo/bin文件夾中安裝 Sui 組件。

集成開發環境

用於 Move 開發的推薦 IDE 是帶有 move-analyzer 擴展的Visual Studio Code 。按照 Visual Studio Marketplace 說明安裝move-analyzer 擴展,然後安裝 move-analyzer 語言服務器:

cargo install --git https://github.com/move-language/move move-analyzer --branch sui-move --features "address32"

配置Sui客戶端

要將 Sui 客戶端連接到區塊鏈網路,請運行以下命令:

sui client

如果您sui-client在控制台中收到幫助輸出,則說明您已經有了一個 client.yaml 文件。請參閱連接到自定義 RPC 端點以添加新的環境別名或切換當前活動網絡。

第一次啟動沒有 client.yaml 文件的 Sui 客戶端時,控制台會顯示以下消息:

Config file ["<PATH-TO-FILE>/client.yaml"] doesn't exist, do you want to connect to a Sui Full node server [y/N]?

y,然後按Enter。然後該進程請求 RPC 服務器 URL:

Sui Full node server URL (Defaults to Sui Devnet if not specified) :

Enter 鍵連接到 Sui Devnet。要使用自定義 RPC 服務器、Sui Testnet 或 Sui Mainnet,請輸入正確的 RPC 端點的 URL,然後按Enter

獲取開發網 Devnet 的Sui Tokens

取得默認地址

sui client active-address

方法一:透過Discord Channel取得Sui Tokens

加入Sui Discord(https://discord.gg/sui),完成身分驗證後,進入#devnet-faucet Channel,輸入!faucet <WALLET ADDRESS>,其中WALLET ADDRESS為你透過上述指令取得的默認錢包地址。

方法二:透過以下指令取得Sui Tokens

curl --location --request POST 'https://faucet.devnet.sui.io/gas' \
--header 'Content-Type: application/json' \
--data-raw '{"FixedAmountRequest":{"recipient":"'$(sui client active-address)'"}}'

用以下指令檢查Sui Tokens是否已經發送到我們的錢包中:

sui client gas

等待幾秒鐘,如果看到List裡已經有記錄,表示你已經成功取得token

下一篇:

--

--

James Shieh
技術保鮮盒

Find something more important than you are and dedicate your life to it.