Stellar是一個用於快速跨境金融交易的開源區塊鏈網路。如果您是 JavaScript 開發人員並想在恆星網路上建立 dApp,那麼這就是您的最佳選擇。在本教程中,我們將學習如何將 Stellar 與 JavaScript 集成,從設定環境到進行第一筆交易。
那麼,讓我們開始吧。
哦,在開始之前,我們需要 JavaScript 的基本知識,並在您的電腦上安裝 npm 和 Node.js。
首先,開啟終端機或命令提示字元並為專案建立新目錄:
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 網路互動的強大函式庫。
現在環境已經搭建完畢,我們將連接Stellar網路。我們需要 Stellar SDK 並連接到測試網。
什麼是測試網?
Testnet 是一個免費使用的網絡,供開發人員測試其應用程式而無需連接真實貨幣。凡是有連接真錢的主網,需要XLM來支付交易費用等。測試網與主網類似,有免費的測試Lumens(XLM),稱為Friendbot。
const StellarSdk = require("stellar-sdk"); const server = new StellarSdk.Server("https://horizon-testnet.stellar.org");
這將初始化 SDK 並設定伺服器以連接到測試網。
要與Stellar網路交互,您需要有一個Stellar帳戶。您可以透過產生鍵值對,使用 SDK 輕鬆建立新帳戶。值對由公鑰和私鑰組成。
const pair = StellarSdk.Keypair.random(); console.log('Public Key:', pair.publicKey()); console.log('Secret Key:', pair.secret());
publicKey()是您帳戶的標識符,而secret()是您的私鑰,請妥善保管。
在測試網中,您可以使用 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 測試流明。因此,根據交易的狀態,它將記錄訊息。
現在,您的帳戶已創建,您可以在恆星網路上進行第一筆交易。我們將建造、簽署交易並將其提交到恆星網路。我們將從我們的帳戶發送 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");
即使是逗號(,)也會毀掉你的程式碼。處理錯誤對於使程式碼保持在預期的軌道上非常重要。
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 上關注我來與我保持聯繫。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3