GTokenTool 全網最好的代幣發行工具平台

當前位置:首頁 >> 操作教程 >> Sui鏈創建Cetus穩定池 2種方法 介紹

Sui鏈創建Cetus穩定池 2種方法 介紹

admin 操作教程 172

引言

Sui區塊鏈是一個高性能的Layer 1區塊鏈,以其並行執行和低延遲著稱。Cetus Protocol是Sui生態中的一個去中心化流動性協議,類似於Uniswap或Curve,專注於高效的AMM(自動做市商)機制。穩定池(Stable Pool)是Cetus中專為穩定幣設計的流動性池類型,它使用恒定和函數(Constant Sum)或混合模型來最小化無常損失,適合USDC、USDT等穩定資產的交易。


本教程將指導您在Sui主網上創建自定義的Cetus穩定池。這裡介紹2種方法,其一需要一些Sui開發知識和Move語言基礎;其二則是透過GTokenTool一鍵發幣平台,不需要專業的知識。注意:區塊鏈操作涉及風險,請確保備份錢包,並在測試網上練習。創建池子可能消耗Gas費,且提供流動性需謹慎評估。

前提條件

在開始之前,確保您具備以下條件:

  1. Sui錢包:安裝Sui錢包(如Sui Wallet瀏覽器擴充功能)或使用Sui CLI。確保錢包中有足夠的SUI代幣(至少10-20 SUI用於Gas費)。

  2. Sui CLI工具:安裝Sui CLI(版本1.0+)。透過以下命令安裝:

    bash
    curl -fLJO https://github.com/MystenLabs/sui/releases/download/mainnet-v1.0.0/sui-mainnet-v1.0.0-ubuntu-x86_64.tgztar -xzf sui-mainnet-v1.0.0-ubuntu-x86_64.tgzsudo mv sui /usr/local/bin

    驗證安裝:sui --version

  3. Node.js和npm(可選,如果使用腳本自動化):用於輔助工具。

  4. Cetus SDK:克隆Cetus倉庫或透過npm安裝Cetus SDK。

    bash
    npm install @cetusprotocol/cetus-sui-clmm-sdk
  5. 穩定幣資產:準備要添加到池子的穩定幣(如USDC on Sui),並確保有足夠的流動性(至少1,000 USD等值)。

  6. 開發環境:VS Code with Move插件,熟悉Sui Move語言。

  7. 網路:本教程針對Sui主網;測試時切換到Testnet。

警告:創建池子後,提供流動性前請檢查Cetus合約安全性。


方法1:使用開發者工具(需要技術背景)

步驟1: 設置Sui CLI和錢包

  1. 初始化Sui CLI:

    bash
    sui client new-env --alias mainnet
    sui client switch --env mainnet
    sui client active-address  # 顯示目前地址
  2. 導入或創建錢包:
    如果使用CLI:sui keytool import ...(從助記詞導入)。
    確保錢包連接到Sui Wallet擴充功能,並批准CLI訪問。

  3. 驗證餘額:

    bash
    sui client gas

    如果SUI不足,請透過交易所轉入。

步驟2: 理解Cetus穩定池結構
Cetus穩定池使用CLMM(集中流動性做市商)變體,支援多資產穩定池(2-4個代幣)。關鍵參數包括:

  • Tick Spacing:控制價格範圍(穩定池通常為1-10)。

  • 初始價格:基於錨定資產(如1 USDC = 1 USDT)。

  • 費用率:穩定池推薦0.01%-0.05%。

步驟3: 準備Move合約(如果自定義)
Cetus提供現成SDK,但如果需要自定義池子,可以編寫Move模組:

  1. 創建新Sui Move專案:

    bash
    sui move new my_stable_poolcd my_stable_pool
  2. sources/目錄下創建stable_pool.move

    move
    module my_stable_pool::stable_pool {
        use sui::coin::{Self, Coin};
        use sui::tx_context::TxContext;
        use cetus_clmm::pool::{Self, Pool};
        use cetus_clmm::stable_pool;  // 假設Cetus穩定池模組
    
        const EInsufficientLiquidity: u64 = 0;
    
        public entry fun create_stable_pool<T1, T2>(
            coin1: Coin<T1>,
            coin2: Coin<T2>,
            tick_spacing: u64,
            fee_rate: u64,
            initial_price: u128,
            ctx: &mut TxContext
        ) {
            // 初始化池子
            let pool = stable_pool::create<T1, T2>(
                coin1, coin2, tick_spacing, fee_rate, initial_price, ctx
            );
            // 添加初始流動性
            assert!(coin::value(&coin1) > 0 && coin::value(&coin2) > 0, EInsufficientLiquidity);
            pool::add_liquidity(&mut pool, ...);  // 詳細參數參考Cetus SDK
        }
    }

    說明:這只是簡化範例。實際使用Cetus SDK的createPool函數。編譯測試:sui move build

步驟4: 使用Cetus SDK創建池子

  1. 安裝依賴並配置SDK:

    javascript
    // 在Node.js腳本中const { JsonRpcProvider, getFullnodeUrl, Ed25519Keypair } = require('@mysten/sui.js');const { initCetusSDK } = require('@cetusprotocol/cetus-sui-clmm-sdk');const provider = new JsonRpcProvider(getFullnodeUrl('mainnet'));const keypair = Ed25519Keypair.fromSecretKey(/* your private key */);const sdk = initCetusSDK(provider);
  2. 編寫創建腳本createPool.js

    javascript
    async function createStablePool() {
        // 資產類型:例如 USDC 和 USDT 的Object IDs
        const coinTypeA = '0x...::usdc::USDC';  // 替換為實際類型
        const coinTypeB = '0x...::usdt::USDT';
    
        // 參數
        const tickSpacing = 1;  // 穩定池緊湊間距
        const feeRate = 100;  // 0.01% = 100 basis points
        const initialSqrtPrice = Math.sqrt(1.0001);  // 近似1:1價格
    
        // 交易區塊
        const tx = await sdk.Pool.createPoolTransaction({
            coinTypeA,
            coinTypeB,
            tickSpacing,
            feeRate,
            sqrtPrice: initialSqrtPrice * 2**96,  // Q64.64格式
        });
    
        // 簽名並執行
        const result = await provider.signAndExecuteTransactionBlock({
            signer: keypair,
            transactionBlock: tx,
        });
        console.log('Pool created:', result.digest);}createStablePool();
  3. 運行腳本:

    bash
    node createPool.js

    這將創建池子並返回Pool ID。

步驟5: 添加初始流動性
創建池子後,提供流動性以激活它:

  1. 使用SDK的addLiquidity函數:

    javascript
    // 延續上例const poolId = '0x...';  // 從結果獲取const amountA = 1000 * 1e6;  // 1000 USDC (6 decimals)const amountB = 1000 * 1e6;  // 1000 USDTconst liquidityTx = await sdk.Position.addLiquidityTransaction({
        poolID: poolId,
        amountA,
        amountB,
        lowerTick: -100,  // 價格範圍
        upperTick: 100,});// 簽名執行類似上步
  2. 批准代幣:確保錢包批准Cetus合約花費您的穩定幣。

  3. 驗證:使用Sui Explorer(https://suiexplorer.com)查看池子狀態。

步驟6: 測試和部署

  1. 測試網測試:切換到Testnet,重複步驟。從水龍頭獲取Testnet SUI。

  2. 主網部署:確認所有參數後,在主網執行。

  3. 監控:使用Cetus儀表板(https://app.cetus.zone)追蹤池子APR和交易量。


方法2:使用GTokenTool一鍵發幣平台(無需專業知識)

1. 連接錢包
進入創建流動性頁面:https://sui.gtokentool.com/zh-CN/LiquidityManagement/createPool
右上角選擇 Main 網路並連接錢包,建議使用 Suiet 錢包。

2. 選擇基礎代幣
選擇基礎代幣後,下面會顯示基礎代幣的餘額。

3. 選擇報價代幣
選擇報價代幣後,下面會顯示報價代幣的餘額。

4. 設置初始價格

5. 填寫加池的報價代幣數量
填寫好加池的報價代幣數量後,會自動計算出基礎代幣數量。

6. 點擊「創建」
彈出錢包後,點擊確認。交易成功下方會顯示交易雜湊,點擊雜湊可以跳轉區塊鏈瀏覽器查看交易。

Sui創建了Cetus穩定池


常見問題排查

  • Gas不足:增加SUI餘額或優化交易。

  • 合約錯誤:檢查Move編譯日誌。常見:類型不匹配或Tick越界。

  • 流動性不平衡:穩定池要求初始比例接近1:1。

  • SDK版本:確保與Cetus最新版本匹配(npm update)。

  • 如果失敗:查看交易日誌result.effects

結論

恭喜!您已在Sui上創建了Cetus穩定池。這將為您提供被動收入機會,透過交易費分成。繼續探索Cetus的激勵計劃(如農場)。

如有不明白或者不清楚的地方,請加入官方電報群:https://t.me/gtokentool
協助本站SEO優化一下,謝謝!
關鍵字不能為空

免責聲明

本文僅供參考,不構成任何投資建議。加密貨幣市場風險較高,投資需謹慎。

同類推薦