Stellar — это сеть блокчейнов с открытым исходным кодом для быстрых и трансграничных финансовых транзакций. Если вы разработчик JavaScript и хотите создать децентрализованное приложение в звездной сети, это то, что вам нужно. В этом уроке мы узнаем, как интегрировать Stellar с JavaScript, от настройки среды до совершения первой транзакции.
Итак, начнем.
О, прежде чем мы начнем, нам нужны базовые знания JavaScript и наличие на вашем компьютере установленных npm и Node.js.
Сначала откройте терминал или командную строку и создайте новый каталог для проекта:
mkdir stellar-js cd stellar-js npm init -y
Эта команда инициализирует новый проект Node.js.
Теперь установите Stellar SDK для JavaScript.
npm install stellar-sdk
Но подождите. Что такое Stellar-SDK?
Stellar SDK — это мощная библиотека для взаимодействия с сетью Stellar с помощью JavaScript.
Теперь, когда среда настроена, мы подключимся к сети Stellar. Нам требуется Stellar SDK и подключаемся к тестовой сети.
Что такое Testnet?
Testnet — это бесплатная сеть, позволяющая разработчикам тестировать свои приложения без подключения к реальным деньгам. Там, где есть основная сеть, которая подключается к реальным деньгам и требует XLM для покрытия комиссий за транзакции и т. д. Тестовая сеть похожа на основную сеть, в ней есть бесплатные тестовые люмены (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's 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 запрос на внесение 10 тысяч тестовых люменов на ваш счет. Соответственно, о статусе транзакции будет записываться сообщение.
Теперь, когда ваша учетная запись создана, вы можете совершить свою первую транзакцию в сети Stellar. Мы создадим, подпишем и отправим транзакцию в звездную сеть. Мы отправим 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