التوثيق
تشغيل عقدة
tintd هو برنامج المدقّق. تغطي هذه الصفحة شبكة اختبار محلية، والأوامر، وكيفية إعداد عقدة الاختبار العامة.
شبكة اختبار: العملات بلا قيمة
الأوامر
| الأمر | ماذا يفعل |
|---|---|
tintd testnet | ينشئ ملفات شبكة اختبار محلية. |
tintd run | يشغّل مدقّقًا واحدًا. |
tintd pay | يرسل عملات من محفظة ملف بذرة. |
tintd swap | يبادل عملة من محفظة ملف بذرة بأخرى عبر المجمّع. |
شبكة اختبار محلية على جهاز واحد
أنشئ ملفات أربعة مدقّقين، ثم شغّل كلًّا منهم في نافذة طرفية خاصة به.
tintd testnet --dir net --addresses 127.0.0.1:4100,127.0.0.1:4101,127.0.0.1:4102,127.0.0.1:4103tintd 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، وهو بذرة المحفظة التي تحتفظ بكل العملات التجريبية. أبقِ البذرة سرية.
إرسال العملات والمبادلة من سطر الأوامر
tintd pay --node http://127.0.0.1:4200 --seed net/faucet.seed --to tint1... --amount 100tintd pay --node http://127.0.0.1:4200 --seed net/faucet.seed --to tint1... --amount 50 --coin TUSDtintd 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-level | error أو 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، ولا يمكن الوصول إليها من الخارج |
| HTTPS | Caddy على المنفذ 443، يحوّل /v1/* إلى واجهة المحفظة |
| بيانات السلسلة | /var/lib/tint/validator-N/data |
- لا يحتفظ الوكيل بـأي سجل وصول: سجل بمن سأل عن ماذا ومن أي عنوان هو ما لا ينبغي لشبكة خصوصية أن تحتفظ به.
- لا يوجد منفذ مقاييس ولا منفذ مدقّق مفتوح؛ يتخاطب المدقّقون عبر واجهة الحلقة المحلية (loopback).
- يحتفظ المدقّق بكل كتلة إلى الأبد. قِس القرص بـ
du -sh /var/lib/tint/validator-*/data. - على خادم بمعالج افتراضي واحد وذاكرة 2 GB استخدم كل مدقّق نحو 92 MB من الذاكرة بعد أول تشغيل مباشرة؛ وملف الخدمة يحدّ المدقّق الواحد بـ 1 GB.
مراقبة عقدة تعمل
curl -s http://127.0.0.1:4200/v1/statusعلى خادم تُديره systemd، يعرض systemctl status 'tint-validator@*' الوحدات، ويعرض journalctl -u 'tint-validator@*' -n 50 آخر أسطر السجل.
توجيه المحفظة إلى عقدتك
في إعدادات المحفظة يمكنك استبدال العقدة المشتركة بعقدتك. يجب أن تقدّم العقدة واجهة المحفظة عبر HTTPS، وأن تنتمي إلى الشبكة نفسها، أي الكتلة الأولى نفسها، التي تنتمي إليها بيانات المحفظة الأخرى. المحفظة التي تصادف كتلة أولى جديدة تقرأ السلسلة الجديدة من البداية.