跳至主要內容

Aevum 測試網:如何開始?

從空錢包到在新一代 QDay 架構上部署並驗證合約的實用路徑,需要更深入的內容時,可隨時連到 QDay Wiki。

技術更新
〈從空錢包到已驗證合約〉:Aevum 測試網四個步驟——加入網絡、領取 tQDAY、部署、驗證

如果你曾在任何 EVM 鏈上部署過合約,Aevum 測試網對你的要求,你大多已經熟悉。入門主要就是配置。

你需要正確的鏈 ID 和 RPC 端點、少量測試 gas,以及在簽署任何交易前先確認錢包所在網絡的習慣。

本指南會按順序帶你走完這些步驟,從加入網絡到驗證你的第一份合約;凡是官方文件有更深入說明的地方,都會指向 QDay Wiki。

你連接的是甚麼

Aevum 代表新一代的 QDay 架構。

它的核心是一條基於 CDK(Chain Development Kit)與 Abelian(一條採用 PoW、抗量子協議的第一層區塊鏈)構建的 L2 鏈。

Aevum 採用模組化架構和「悲觀證明」(pessimistic proof)rollup 方案,並設有分別負責排序、聚合與驗證的專門組件。

QDay 的各項功能,包括支付、智能錢包、AI 代理和抗量子能力,都建構在這個基礎之上。

就日常開發而言,重要的部分簡單得多。

Aevum 兼容 EVM,因此 Solidity、MetaMask、Remix、Foundry、Hardhat、ethers.js、viem 和 wagmi 的用法都和在以太坊上一樣。你唯一要改的,是工具指向的地方。

有一個細節常常讓人出錯。

Aevum 測試網和原有的 QDay 網絡(文件中標示為 QDay Origin)是兩個獨立的網絡,各有自己的鏈 ID、RPC 和區塊瀏覽器。合約和餘額不會自動轉移過來。

如果你曾在原有網絡上部署過合約,請在 Aevum 上重新部署。標準的 Solidity 合約一般不需要修改程式碼(FAQ 2.10)。

第 1 步:把 Aevum 測試網加入錢包

最快的方法是使用 wiki 上 Add QDay to your wallet 頁面的 Add QDay Aevum 按鈕。它使用 EIP-3085(wallet_addEthereumChain),所以在加入任何網絡之前,錢包會先顯示確切的參數讓你確認。

如果你想手動設定,打開 MetaMask,進入 Networks,選擇手動新增網絡,然後輸入以下數值:

欄位數值
網絡名稱QDay Aevum
鏈 ID44005(十六進制 0xABE5)
RPC URLhttps://rpc-test.qday.info
WebSocketwss://rpc-test.qday.info
區塊瀏覽器https://explorer-test.qday.info
貨幣符號tQDAY(原生測試網 $QDAY,18 位小數)

目前有三個 QDay 鏈 ID 同時在使用,把它們搞混是最常見的設定錯誤。44001 是原有網絡的主網,44003 是原有網絡的測試網,44005 是 Aevum 測試網。

Aevum 主網的參數會在上線時公布。請以 Chain parameters 頁面為準,而不是聊天訊息或 dApp 橫額。

目前有三個 QDay 鏈 ID 在使用:44001 原有主網、44003 原有測試網、44005 Aevum 測試網

如果你的錢包或腳本顯示的鏈 ID 不是 44005,請先停下來修正,再簽署任何交易。

第 2 步:領取測試網代幣

測試網 $QDAY 用來支付 Aevum 上的 gas。它沒有任何貨幣價值。

水龍頭直接內建在 wiki 的 Get testnet tokens 頁面。連接錢包後,小工具會把你切換到 Aevum,並直接調用水龍頭合約。

如果你想先在區塊瀏覽器上核對,合約地址(0xE5074CBbd046AFb491EB8692abD6cF7ECCC6dEE5)列在 Official contract addresses 頁面。

點擊之前,有幾件事值得知道。

透過文件內的小工具領取本身就是一筆交易,所以餘額為零的全新錢包無法支付這筆交易的費用。第一次領取請使用 faucet.qday.info,它會替你支付 gas。之後,小工具就能正常使用。

水龍頭還會在鏈上對每個地址設定冷卻時間,而且只接受一般錢包(EOA)的領取,不接受合約。如果你最近領取過,小工具會告訴你還要等多久。

如果你帶領的是團隊或黑客松小組,請讓每個人各自領取到自己的地址,而不是全部經由同一把共用私鑰。

Aevum 上的 gas 沿用以太坊的 EIP-1559 模型(基本費用加優先費用),所以現有的 gas 估算邏輯可以原封不動沿用。

部署之前,值得先在你自己的兩個帳戶之間轉一小筆金額,確認你能簽署、支付 gas,並在區塊瀏覽器上看到結果。

Handbook 的 Getting Started 頁面有這第一筆轉帳的逐步說明。

第 3 步:用 Remix 部署你的第一份合約

Remix 是讓合約在 Aevum 上線最快的方法,因為除了 MetaMask 之外不需要安裝任何東西。以下是 Handbook 裡的最簡合約:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

contract HelloQDay {
    string public greeting = "Hello, QDay";

    function setGreeting(string calldata _greeting) external {
        greeting = _greeting;
    }
}
  1. 打開 remix.ethereum.org,建立 contracts/HelloQDay.sol,貼上上面的程式碼。
  2. 在 Solidity Compiler 面板中,選擇 0.8.20 或更新的版本以配合 pragma,然後編譯。
  3. 在 Deploy & Run Transactions 中,把 Environment 設為 Injected Provider - MetaMask(不是 Remix VM),並批准連接。
  4. 繼續之前先看一下 MetaMask。它應該顯示 QDay Aevum,鏈 ID 44005。如果仍然在以太坊上,合約就會部署到那裡,而你要支付真正的 ETH。
  5. 選擇 HelloQDay,點擊 Deploy,在 MetaMask 中檢查 gas 估算,然後確認。
  6. 確認完成後,展開已部署的實例,調用 greeting,再用一個新字串調用 setGreeting,然後讀回結果。
  7. 把合約地址貼到 Aevum 區塊瀏覽器,即可看到這次部署以及之後的每一次調用。

第 4 步:用 Foundry 或 Hardhat 部署

當你的專案不止一個檔案時,就會想用你慣用的工具鏈。

Aevum 不需要任何插件或分叉版本,只需要測試網端點。請使用專門的測試網私鑰,並存放在環境變數中,絕不要用持有真實資金的私鑰。

Foundry

forge create src/MyContract.sol:MyContract \
  --rpc-url https://rpc-test.qday.info \
  --private-key $PRIVATE_KEY \
  --broadcast

較新的 Foundry 版本會把 forge create 當作試運行,除非你加上 --broadcast;如果區塊瀏覽器上甚麼都沒出現,記得加上它。

Hardhat

// hardhat.config.js
module.exports = {
  networks: {
    aevum: {
      url: "https://rpc-test.qday.info",
      chainId: 44005,
      accounts: [process.env.PRIVATE_KEY],
    },
  },
};
npx hardhat run scripts/deploy.js --network aevum

明確設定 chainId 是成本很低的保險。如果 RPC 回報的是另一條鏈,Hardhat 會拒絕發送。

viem 和 wagmi

前端方面,把鏈定義一次,然後在各處重用:

import { defineChain } from 'viem';

export const aevumTestnet = defineChain({
  id: 44005,
  name: 'QDay Aevum',
  nativeCurrency: { name: 'QDAY', symbol: 'QDAY', decimals: 18 },
  rpcUrls: { default: { http: ['https://rpc-test.qday.info'] } },
  blockExplorers: {
    default: { name: 'Explorer', url: 'https://explorer-test.qday.info' },
  },
  testnet: true,
});

從文件複製程式碼時要留意一點。

wiki 的 Technical 部分有幾個程式碼範例,包括 Smart Contract Development 頁面,使用的是 https://rpc.qday.io 和鏈 ID 44001。那是原有網絡主網的參數。

用於 Aevum 測試網時,請換成 https://rpc-test.qday.info 和 44005。

第 5 步:驗證你的合約

Aevum 的區塊瀏覽器基於 Blockscout,所以適用標準的 Blockscout 驗證流程。使用 Foundry:

forge verify-contract \
  --chain-id 44005 \
  --verifier blockscout \
  --verifier-url https://explorer-test.qday.info/api \
  <CONTRACT_ADDRESS> \
  src/MyContract.sol:MyContract

已驗證的原始碼會顯示在合約的區塊瀏覽器頁面上,讓隊友、評審或審閱者更容易看懂你部署了甚麼。更多細節見 Contract Verification 頁面和 FAQ 4.3。

目前能測試和還不能測試的功能

目前能在 Aevum 上測試的功能:測試網已上線與即將推出的對照

Aevum 是 QDay 支付和代理功能的基礎,但並非所有功能目前都在測試網上提供公開工具。FAQ 對此說得很直接。

穩定幣支付功能、x402 測試、代理錢包和代理註冊都列為即將推出,各項功能上線時會一併發布文件、工具和範例(FAQ 第 5 節)。

如果你打算圍繞 ERC-4337 會話範圍錢包、ERC-8004 代理身份或 x402 做黑客松專案,請先查看該節,了解哪些功能已經上線。

官方 QDay SDK 的情況也一樣(FAQ 4.5)。

你可能會在少數文件頁面上看到 SDK 的套件名稱;在 SDK 正式公布前,請把它們視為前瞻性內容,並暫時使用 ethers.js、viem 或 wagmi。

FAQ 也列出了 Aevum 上的 ERC-20 測試代幣,包括 QDay 與美元掛鈎的穩定幣 USD8(FAQ 3.8)。

在基於任何代幣地址開發之前,請先在區塊瀏覽器上核實,並且絕不要在 Aevum 上重用原有網絡測試網(44003)的代幣地址。

在後量子方面,Aevum 上的帳戶目前是標準的 ECDSA 帳戶。

QDay 的遷移路徑是從傳統 ECDSA,到結合 ECDSA 與 ML-DSA-65 的混合模型,再到原生後量子密碼學,而 Aevum 正是讓這次遷移能逐步進行的基礎設施。

Precompiled Contracts 頁面預覽了 ML-DSA-65 和混合簽名驗證計劃如何向 Solidity 開放。在上線確認之前,請把這些地址視為暫定。

常見混淆

  • 把 Aevum 加入錢包並不會轉移任何餘額。從原有網絡遷移資產是另一個單向流程,說明見 Migration overview 頁面。只使用在官方合約頁面和 QDay Portal 上公布的合約地址。
  • 在原有網絡上可用的合約,在你重新部署之前並不存在於 Aevum 上。代幣和合約地址也一樣:它們都是按網絡區分的。
  • 設為 Injected Provider 的 Remix 會部署到 MetaMask 當前所在的網絡。每次都要檢查網絡名稱,不只是第一次。
  • QDay 團隊絕不會主動私訊你,也絕不會索取助記詞或私鑰。這同樣適用於測試網的「支援」提議。

下一步去哪裡

本指南的所有內容在 wiki 中都有更深入的說明。以下是大多數開發者會反覆查閱的頁面:

如果遇到問題,請在官方 QDay Telegram 群組回報錯誤(FAQ 7.6)。文件正在積極修訂中,如果某個頁面有誤或已過時,請在 GitHub 上提交 issue。所有官方渠道都列在 Community 頁面。

· · ·

當 HelloQDay 在 44005 上運行後,你就具備了開始真正想做的專案所需的一切。專案上線時,在 X 上標記 @QDayOfficial,讓我們看看。

下一篇文章直接送到你的電郵

來自 QDay 的測試網發佈、開發者更新與研究。

必要網站運作所需,一律開啟。
一律開啟
分析Google Analytics,用於了解網站的使用情況。
廣告Google Ads 及其他廣告標籤,用於衡量及個人化我們的推廣活動。