Stellar es una red blockchain de código abierto para transacciones financieras rápidas y transfronterizas. Si eres un desarrollador de JavaScript y quieres crear una dApp en una red estelar, esto es para ti. En este tutorial, aprenderemos cómo integrar Stellar con JavaScript, desde configurar el entorno hasta realizar su primera transacción.
Entonces, comencemos.
Oh, antes de comenzar, necesitamos conocimientos básicos de JavaScript y tener npm y Node.js instalados en su máquina.
Primero, abre tu terminal o símbolo del sistema y crea un nuevo directorio para el proyecto:
mkdir stellar-js cd stellar-js npm init -y
Este comando inicializará un nuevo proyecto de Node.js.
Ahora, instale Stellar SDK para JavaScript.
npm install stellar-sdk
Pero espera ¿Qué es Stellar-SDK?
Stellar SDK es una poderosa biblioteca para interactuar con la red Stellar usando JavaScript.
Ahora que el entorno está configurado, nos conectaremos con la red Stellar. Requerimos Stellar SDK y conectarnos a la red de prueba.
¿Qué es Testnet?
Testnet es una red de uso gratuito para que un desarrollador pruebe su aplicación sin conectarse a dinero real. Donde hay una red principal que se conecta a dinero real y requiere XLM para cubrir las tarifas de transacción, etc. La red de prueba es similar a la red principal, tiene lúmenes de prueba gratuitos (XLM) llamados Friendbot.
const StellarSdk = require("stellar-sdk"); const server = new StellarSdk.Server("https://horizon-testnet.stellar.org");
Esto inicializará el SDK y configurará el servidor para que se conecte a la red de prueba.
Para interactuar con la red Stellar, es necesario tener una cuenta Stellar. Puede crear fácilmente una nueva cuenta utilizando el SDK generando un par clave-valor. El par de valores consta de una clave pública y una privada.
const pair = StellarSdk.Keypair.random(); console.log('Public Key:', pair.publicKey()); console.log('Secret Key:', pair.secret());
La clave pública() es el identificador de su cuenta, mientras que la clave secreta() es su clave privada, que debe mantenerse segura.
En la testnet, puedes depositar fondos en tu cuenta utilizando el servicio Friendbot de Stellar.
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());
La función fundAccount envía una solicitud a Friendbot para depositar 10.000 lúmenes de prueba en su cuenta. De acuerdo con el estado de la transacción, registrará el mensaje.
Ahora que tu cuenta está fundada, puedes realizar tu primera transacción en la red estelar. Construiremos, firmaremos y enviaremos la transacción a la red estelar. Enviaremos 10 XLM desde nuestra cuenta a otra cuenta.
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");
Incluso una sola coma ( , ) puede arruinar tu código. Manejar los errores es muy importante para mantener el código en el camino esperado.
try { const result = await server.submitTransaction(transaction); console.log("Success:", result); } catch (error) { console.error("Error:", error.response.data.extras.result_codes); }
Esto detecta cualquier error durante la transacción y registra el error específico que ayuda a depurar el código.
Acabamos de integrar Stellar con JavaScript y realizamos nuestra primera transacción en la red de prueba de Stellar. Dado que JavaScript es ampliamente adoptado entre los desarrolladores, la transición a blockchain con Stellar es más conveniente.
La mejor manera de aprender cualquier habilidad nueva es practicar más proyectos. Crea pequeños proyectos y experimenta con los conceptos.
Si encuentras útil esta publicación, no olvides seguir mostrándome amor. Hasta la próxima, dale me gusta, comparte y aprende.
También puedes mantenerte conectado conmigo siguiéndome aquí y en X, GitHub y LinkedIn.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3