التوثيق

تشغيل عقدة

tintd هو برنامج المدقّق. تغطي هذه الصفحة شبكة اختبار محلية، والأوامر، وكيفية إعداد عقدة الاختبار العامة.

شبكة اختبار: العملات بلا قيمة

الأوامر

الأمرماذا يفعل
tintd testnetينشئ ملفات شبكة اختبار محلية.
tintd runيشغّل مدقّقًا واحدًا.
tintd payيرسل عملات من محفظة ملف بذرة.
tintd swapيبادل عملة من محفظة ملف بذرة بأخرى عبر المجمّع.

شبكة اختبار محلية على جهاز واحد

أنشئ ملفات أربعة مدقّقين، ثم شغّل كلًّا منهم في نافذة طرفية خاصة به.

bash
tintd testnet --dir net --addresses 127.0.0.1:4100,127.0.0.1:4101,127.0.0.1:4102,127.0.0.1:4103
bash · المدقّق 0
tintd run --local \
  --genesis net/genesis.bin \
  --validators net/validators.txt \
  --key net/validator-0/key \
  --data net/validator-0/data \
  --rpc 127.0.0.1:4200

كرّر للمدقّقين 1 إلى 3 مع --key و--data خاصين بكل منهم، ومنفذ --rpc مختلف إن أردت واجهة المحفظة لهم أيضًا. يقبل --local العناوين الخاصة، وهو ما تحتاجه شبكة على جهاز واحد.

يكتب testnet الملفات genesis.bin وvalidators.txt ومجلدًا فيه مفتاح كل مدقّق، وfaucet.seed، وهو بذرة المحفظة التي تحتفظ بكل العملات التجريبية. أبقِ البذرة سرية.

إرسال العملات والمبادلة من سطر الأوامر

bash
tintd pay --node http://127.0.0.1:4200 --seed net/faucet.seed --to tint1... --amount 100
bash
tintd pay --node http://127.0.0.1:4200 --seed net/faucet.seed --to tint1... --amount 50 --coin TUSD
bash
tintd swap --node http://127.0.0.1:4200 --seed net/faucet.seed --amount 10 --buy TUSD

بدون --coin يرسل pay العملة الأصلية. أما swap فيدفع بالعملة الأصلية ما لم تسمِّ عملة أخرى بـ --pay؛ وإحدى عملتي المبادلة هي دائمًا العملة الأصلية.

خيارات tintd run

الخيارالمعنى
--genesisملف الكتلة الأولى (genesis).
--validatorsملف قائمة المدقّقين.
--keyملف المفتاح الخاص لهذا المدقّق.
--dataمجلد كتل هذا المدقّق.
--listenالعنوان الذي يُستمع عليه؛ افتراضيًا العنوان الموجود في قائمة المدقّقين.
--metricsالعنوان الذي تُقدَّم عليه المقاييس. معطّل ما لم تحدده.
--rpcالعنوان الذي تُخدَّم عليه المحافظ عبر HTTP. معطّل ما لم تحدده.
--rpc-behind-proxyتصل المحافظ إلى --rpc عبر وكيل عكسي على هذا الجهاز: تُحسب العملاء بحسب X-Forwarded-For.
--localيقبل العناوين الخاصة، لشبكة على جهاز واحد.
--log-jsonيكتب السجلات كأسطر JSON.
--log-levelerror أو warn أو info (الافتراضي) أو debug أو trace.
--idle-block-msعدد المللي ثانية التي تستريحها سلسلة بلا دفعات منتظرة بين الكتل. الافتراضي 5000 والحد الأقصى 60000. أعطِ كل مدقّق القيمة نفسها.

كيف أُعدّت عقدة الاختبار العامة

العقدة العامة على https://node.tint.top خادم واحد يشغّل أربعة مدقّقين، فهي تختبر أن الشبكة تعمل ولا تثبت شيئًا عن اللامركزية.

ماذاأين
أربعة مدقّقينوحدات systemd من tint-validator@0 إلى @3، تتخاطب عبر 127.0.0.1:4100 إلى 4103
واجهة المحفظةالمدقّق 0، على 127.0.0.1:4200، ولا يمكن الوصول إليها من الخارج
HTTPSCaddy على المنفذ 443، يحوّل /v1/* إلى واجهة المحفظة
بيانات السلسلة/var/lib/tint/validator-N/data
  • لا يحتفظ الوكيل بـأي سجل وصول: سجل بمن سأل عن ماذا ومن أي عنوان هو ما لا ينبغي لشبكة خصوصية أن تحتفظ به.
  • لا يوجد منفذ مقاييس ولا منفذ مدقّق مفتوح؛ يتخاطب المدقّقون عبر واجهة الحلقة المحلية (loopback).
  • يحتفظ المدقّق بكل كتلة إلى الأبد. قِس القرص بـ du -sh /var/lib/tint/validator-*/data.
  • على خادم بمعالج افتراضي واحد وذاكرة 2 GB استخدم كل مدقّق نحو 92 MB من الذاكرة بعد أول تشغيل مباشرة؛ وملف الخدمة يحدّ المدقّق الواحد بـ 1 GB.

مراقبة عقدة تعمل

bash
curl -s http://127.0.0.1:4200/v1/status

على خادم تُديره systemd، يعرض systemctl status 'tint-validator@*' الوحدات، ويعرض journalctl -u 'tint-validator@*' -n 50 آخر أسطر السجل.

توجيه المحفظة إلى عقدتك

في إعدادات المحفظة يمكنك استبدال العقدة المشتركة بعقدتك. يجب أن تقدّم العقدة واجهة المحفظة عبر HTTPS، وأن تنتمي إلى الشبكة نفسها، أي الكتلة الأولى نفسها، التي تنتمي إليها بيانات المحفظة الأخرى. المحفظة التي تصادف كتلة أولى جديدة تقرأ السلسلة الجديدة من البداية.