首頁 > web前端 > js教程 > 主體

將 Stellar 與 JavaScript 整合:建立 dApp 很簡單(對於絕對初學者)

WBOY
發布: 2024-08-14 10:44:10
原創
1165 人瀏覽過

Integrating Stellar with JavaScript: Building dApp is Easy (for Absolute Beginners)

Stellar 是一個用於快速跨國金融交易的開源區塊鏈網路。如果您是 JavaScript 開發人員,並且想在一流的網路上建立 dApp,那麼這就是您的最佳選擇。在本教程中,我們將學習如何將 Stellar 與 JavaScript 集成,從設定環境到進行第一筆交易。

那麼,讓我們開始吧。

哦,在開始之前,我們需要 JavaScript 的基本知識,並在您的電腦上安裝 npm 和 Node.js。

1. 正視環境

首先,開啟終端機或命令提示字元並為專案建立新目錄:

mkdir stellar-js
cd stellar-js
npm init -y
登入後複製

此指令將初始化一個新的 Node.js 專案。

現在,安裝 Stellar SDK for JavaScript。

npm install stellar-sdk
登入後複製

但是,等等什麼是Stellar-SDK?

Stellar SDK 是一個功能強大的函式庫,可以使用 JavaScript 與 Stellar 網路進行互動。

2. 連接恆星網絡

現在環境已經搭建完畢,我們將連接Stellar網路。我們需要 Stellar SDK 並連接到測試網。

什麼是測試網?

Testnet 是一個免費使用的網絡,供開發人員測試其應用程式而無需連接真實貨幣。哪裡有一個連接真實貨幣的主網,需要XLM來支付交易費用等。測試網與主網類似,它有免費的測試Lumens(XLM),稱為Friendbot。

const StellarSdk = require("stellar-sdk");
const server = new StellarSdk.Server("https://horizon-testnet.stellar.org");
登入後複製

這將初始化 SDK 並設定伺服器以連接到測試網。

3. 建立新帳戶

要與Stellar網路交互,您需要有一個Stellar帳號。您可以透過產生鍵值對,使用 SDK 輕鬆建立新帳戶。值對由公鑰和私鑰組成。

const pair = StellarSdk.Keypair.random();

console.log('Public Key:', pair.publicKey());
console.log('Secret Key:', pair.secret());
登入後複製

publicKey()是您帳戶的標識符,而secret()是您的私鑰,請妥善保管。

4. 為帳戶注資

在測試網中,您可以使用 Stellar 的 Friendbot 服務為您的帳戶注資。

const fetch = require("node-fetch");

const fundAccount = async (publicKey) => {
  try {
    const response = await fetch(
      `https://friendbot.stellar.org?addr=${publicKey}`
    );
    const data = await response.json();
    console.log("Account funded:", data);
  } catch (error) {
    console.error("Error funding account:", error);
  }
};

fundAccount(pair.publicKey());
登入後複製

fundAccount 函數向 Friendbot 發送請求,在您的帳戶中存入 10k 測試流明。因此,根據交易的狀態,它將記錄訊息。

5. 進行交易

現在,您的帳戶已創建,您可以在恆星網路上進行第一筆交易。我們將建造、簽署交易並將其提交到恆星網路。我們將從我們的帳戶發送 10 XLM 到另一個帳戶。

const sendPayment = async (publicKey) => {
  try {
    const account = await server.loadAccount(pair.publicKey());

    const transaction = new StellarSdk.TransactionBuilder(account, {
      fee: StellarSdk.BASE_FEE,
      networkPassphrase: StellarSdk.Networks.TESTNET,
    })
      .addOperation(
        StellarSdk.Operation.payment({
          destination: publicKey,
          asset: StellarSdk.Asset.native(),
          amount: "10",
        })
      )
      .setTimeout(30)
      .build();

    transaction.sign(pair);

    const result = await server.submitTransaction(transaction);
    console.log("Transaction successful:", result);
  } catch (error) {
    console.error("Error sending payment:", error);
  }
};

sendPayment("Another_Account's_Public_Key");
登入後複製

6. 錯誤處理與除錯

即使是一個逗號(,)也會毀掉你的程式碼。處理錯誤對於使程式碼保持在預期的軌道上非常重要。

try {
  const result = await server.submitTransaction(transaction);
  console.log("Success:", result);
} catch (error) {
  console.error("Error:", error.response.data.extras.result_codes);
}
登入後複製

這會捕獲交易期間的任何錯誤並記錄有助於偵錯程式碼的特定錯誤。

結論

我們剛剛將 Stellar 與 JavaScript 集成,並在 Stellar 測試網路上進行了第一筆交易。由於 JavaScript 在開發者中被廣泛採用,使用 Stellar 過渡到區塊鏈更加方便。

學習任何新技能的最佳方法是練習更多項目。建立小型專案並嘗試這些概念。

如果您覺得這篇文章有幫助,請不要忘記繼續向我表達愛意。下次記得按讚、分享、學習。

您也可以透過在此處以及 X、GitHub 和 LinkedIn 上關注我來與我保持聯繫。

以上是將 Stellar 與 JavaScript 整合:建立 dApp 很簡單(對於絕對初學者)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板