Mengintegrasikan Stellar dengan JavaScript: Membina dApp adalah Mudah (untuk Pemula Mutlak)

WBOY
Lepaskan: 2024-08-14 10:44:10
asal
1083 orang telah melayarinya

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

Stellar ialah rangkaian rantaian blok sumber terbuka untuk transaksi kewangan yang pantas dan merentas sempadan. Jika anda seorang pembangun JavaScript dan ingin membina dApp pada rangkaian yang cemerlang, ini adalah perkara untuk anda. Dalam tutorial ini, kami akan mempelajari cara mengintegrasikan Stellar dengan JavaScript, daripada menyediakan persekitaran hingga membuat transaksi pertama anda.

Jadi, mari kita mulakan.

Oh, sebelum kita mula, kami memerlukan pengetahuan asas JavaScript dan memasang npm dan Node.js pada mesin anda.

1. Menduduki Persekitaran

Mula-mula, buka terminal atau command prompt anda dan buat direktori baharu untuk projek:

mkdir stellar-js
cd stellar-js
npm init -y
Salin selepas log masuk

Arahan ini akan memulakan projek Node.js baharu.

Sekarang, pasang Stellar SDK untuk JavaScript.

npm install stellar-sdk
Salin selepas log masuk

Tetapi, tunggu Apakah Stellar-SDK?

Stellar SDK ialah perpustakaan yang berkuasa untuk berinteraksi dengan rangkaian Stellar menggunakan JavaScript.

2. Menyambung ke Rangkaian Stellar

Sekarang, persekitaran telah disediakan, kami akan berhubung dengan rangkaian Stellar. Kami memerlukan Stellar SDK dan menyambung ke testnet.

Apakah Testnet?

Testnet ialah rangkaian percuma untuk digunakan untuk pembangun menguji aplikasi mereka tanpa menyambung kepada wang sebenar. Di mana terdapat mainnet yang bersambung kepada wang sebenar dan memerlukan XLM untuk menampung yuran transaksi, dsb. Testnet adalah serupa dengan mainnet, ia mempunyai ujian Lumens (XLM) percuma yang dipanggil Friendbot.

const StellarSdk = require("stellar-sdk");
const server = new StellarSdk.Server("https://horizon-testnet.stellar.org");
Salin selepas log masuk

Ini akan memulakan SDK dan menetapkan pelayan untuk menyambung ke testnet.

3. Mencipta Akaun Baru

Untuk berinteraksi dengan rangkaian Stellar, anda perlu mempunyai akaun Stellar. Anda boleh membuat akaun baharu dengan mudah menggunakan SDK dengan menjana pasangan nilai kunci. Pasangan nilai terdiri daripada kunci awam dan peribadi.

const pair = StellarSdk.Keypair.random();

console.log('Public Key:', pair.publicKey());
console.log('Secret Key:', pair.secret());
Salin selepas log masuk

Kekunci public() ialah pengecam akaun anda, manakala rahsia() ialah kunci peribadi anda, yang harus disimpan selamat.

4. Membiayai Akaun

Dalam testnet, anda boleh membiayai akaun anda menggunakan perkhidmatan Friendbot 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());
Salin selepas log masuk

Fungsi fundAccount menghantar permintaan kepada Friendbot untuk mendepositkan 10k Lumen ujian dalam akaun anda. Sehubungan itu, kepada status transaksi, ia akan log mesej.

5. Membuat Transaksi

Sekarang, setelah akaun anda diasaskan, anda boleh membuat transaksi pertama anda di rangkaian cemerlang. Kami akan membina, menandatangani dan menyerahkan transaksi kepada rangkaian cemerlang. Kami akan menghantar 10 XLM dari akaun kami ke akaun lain.

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");
Salin selepas log masuk

6. Ralat Pengendalian dan Nyahpepijat

Malah satu koma ( , ) boleh merosakkan kod anda. Mengendalikan ralat adalah sangat penting untuk memastikan kod pada landasan yang dijangkakan.

try {
  const result = await server.submitTransaction(transaction);
  console.log("Success:", result);
} catch (error) {
  console.error("Error:", error.response.data.extras.result_codes);
}
Salin selepas log masuk

Ini menangkap sebarang ralat semasa urus niaga dan mencatat ralat khusus yang membantu menyahpepijat kod.

Kesimpulan

Kami baru sahaja menyepadukan Stellar dengan JavaScript dan membuat transaksi pertama kami di testnet Stellar. Memandangkan JavaScript diterima pakai secara meluas dalam kalangan pembangun, peralihan kepada rantaian blok dengan Stellar adalah lebih mudah.

Cara terbaik untuk mempelajari apa-apa kemahiran baharu ialah dengan berlatih lebih banyak projek. Bina projek kecil dan bereksperimen dengan konsep.

Jika anda rasa siaran ini membantu, jangan lupa untuk terus menunjukkan kasih sayang kepada saya. Sehingga lain kali suka, kongsi dan pelajari.

Anda juga boleh terus berhubung dengan saya dengan mengikuti saya di sini dan di X, GitHub dan LinkedIn.

Atas ialah kandungan terperinci Mengintegrasikan Stellar dengan JavaScript: Membina dApp adalah Mudah (untuk Pemula Mutlak). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!