تخطي إلى المحتوى الرئيسي

إرسال الرموز باستخدام ethers.js

ETHERS.JS
ايه آر سي-20
الرموز
المستوى المبتدئ
كيم يونغ جون
6 أبريل 2021
2 دقيقة قراءة

إرسال الرمز باستخدام ethers.js(5.0)

في هذا البرنامج التعليمي سوف تتعلم كيفية

  • استيراد ethers.js
  • تحويل الرمز
  • تحديد سعر الغاز وفقاً لحالة ازدحام الشبكة

للبدء

للبدء، يجب علينا أولاً استيراد مكتبة ethers.js إلى جافا سكريبت الخاص بنا تضمين ethers.js(5.0)

التثبيت

/home/ricmoo> npm install --save ethers

ES6 in the Browser

<script type="module">
  import { ethers } from "https://cdn.ethers.io/lib/ethers-5.0.esm.min.js"
  // أدخل الكود الخاص بك هنا...
</script>

ES3(UMD) in the Browser

<script
  src="https://cdn.ethers.io/lib/ethers-5.0.umd.min.js"
  type="application/javascript"
></script>

المعلمات

  1. contract_address: عنوان عقد الرمز (يلزم عنوان العقد عندما لا يكون الرمز الذي تريد تحويله هو إيثر)
  2. send_token_amount: المبلغ الذي تريد إرساله إلى المستلم
  3. to_address: عنوان المستلم
  4. send_account: عنوان المرسل
  5. private_key: المفتاح الخاص للمرسل لتوقيع المعاملة وتحويل الرموز فعليًا

ملاحظة

تمت إزالة signTransaction(tx) لأن sendTransaction() تقوم بذلك داخلياً.

إجراءات الإرسال

١. الاتصال بالشبكة (شبكة الاختبار)

تعيين الموفر (إنفيورا)

الاتصال بشبكة الاختبار روبستين

window.ethersProvider = new ethers.providers.InfuraProvider("ropsten")

٢. إنشاء محفظة

let wallet = new ethers.Wallet(private_key)

3. ربط المحفظة بالشبكة

let walletSigner = wallet.connect(window.ethersProvider)

4. الحصول على سعر الغاز الحالي

window.ethersProvider.getGasPrice() // سعر الغاز

5. تحديد المعاملة

المتغيرات المحددة أدناه تعتمد على send_token()

معلمات المعاملة

  1. send_account: عنوان مرسل الرمز
  2. to_address: عنوان مستلم الرمز
  3. send_token_amount: كمية الرموز المراد إرسالها
  4. gas_limit: حد الغاز
  5. gas_price: سعر الغاز

انظر أدناه لمعرفة كيفية الاستخدام

const tx = {
  from: send_account,
  to: to_address,
  value: ethers.utils.parseEther(send_token_amount),
  nonce: window.ethersProvider.getTransactionCount(send_account, "latest"),
  gasLimit: ethers.utils.hexlify(gas_limit), // 100000
  gasPrice: gas_price,
}

6. تحويل

walletSigner.sendTransaction(tx).then((transaction) => {
  console.dir(transaction)
  alert("اكتمل الإرسال!")
})

كيفية استخدامه

نجاح!

صورة معاملة تمت بنجاح

send_token()

آخر تحديث للصفحة: 3 مارس 2026

هل كان هذا البرنامج التعليمي مفيداً؟