داش عقدة الإعداد P2Pool

يصف هذا الدليل كيفية إعداد عقدة داش P2Pool لإدارة مجموعة من عمال المناجم. على عكس حمامات التعدين المركزية ، يعتمد P2Pool على نفس نموذج النظير -2 النبض (P2P) كـ داش ، مما يجعل المجموعة ككل مقاومة للغاية للهجمات الضارة ، والحفاظ على الطبيعة اللامركزية لل داش وحمايتها. عندما تقوم بتشغيل عقدة P2Pool ، فإنها تبحث عن البيانات وتتصل بها وتشاركها بشبكة لا مركزية لعقد P2Pool الأخرى (المعروفة أيضًا باسم الأقران). تتشارك عقد P2Pool سلسلة تشفير للبيانات تمثل القيمة ، على غرار بلوكشين في داش. يسمى الإصدار P2Pool في sharechain. الطبيعة اللامركزية والعادلة لنموذج التعدين هذا يعني أن التعدين مع P2Pool يتم تشجيعه بقوة. P2Pool لداش يستخدم p2pool-dash البرنامج على GitHub ، وهو عبارة عن شوكة من p2pool لبيتكوين. لمزيد من المعلومات، راجع هنا.

وبسبب الطريقة التي يدير بها P2Pool صعوبة عمليات الضبط على sharechain ، من المهم الحفاظ على الكمون المنخفض بين عمال المناجم والعقدة P2Pool لتجنب عمال المناجم الذين يقدمون الأسهم متأخرة لدخول المشاركة. عند إعداد العقدة ، تحتاج إلى النظر في موقعه الفعلي وموقع الشبكة بالنسبة إلى عمال المناجم الذين تنوي توصيلهم بالعقدة. إذا كنت تدير مزرعة تعدين ، فمن المحتمل أن تكون عقدة P2Pool الخاصة بك جهازًا ماديًا على نفس الشبكة المحلية التي يستخدمها عمال المناجم. إذا كنت تخطط لتشغيل عقدة عمومية ، فقد يكون من الأفضل إعداد عقدة P2Pool كجهاز ظاهري في مركز بيانات ذي اتصال عالي السرعة بحيث يمكن لعمال المناجم الذين يعملون جغرافيًا أن يقوموا بالتعدين إلى مجموعتك بوقت استجابة منخفض نسبياً.

يصف هذا القسم الخطوات التالية لإعداد خادم يوبنتو الذي يستخدم P2Pool لـ داش. تم اختباره مع يوبنتو 16.04 LTS و 18.04 LTS و داش 0.12.2.3. في حين سيتم بذل جهد معقول للحفاظ على تحديثه ، من الممكن تعديل التعليمات بشكل طفيف لدعم الإصدارات المختلفة أو أنظمة التشغيل حسب الضرورة.

إعداد الخادم المضيف

قم بتنزيل نسخة من LTS سيرفر يوبنت من https://www.ubuntu.com/download/server وتثبيتها على نظامك وفقًا للخطوات الموضحة هنا. إذا كنت تستخدم VPS مثل Vultr أو AWS ، فغالبًا ما يقدم مزود الخدمة لديك خيارًا لتثبيت هذا النظام أثناء عملية التوفير. تأكد من تمكين خادم OpenSSH أثناء الإعداد حتى تتمكن من التحكم في الخادم الخاص بك من وحدة التحكم عن بعد. بمجرد الوصول إلى الخادم الخاص بك ، قم بإنشاء مستخدم جديد غير جذر إذا لم تكن قد قمت بذلك بالفعل باستخدام الأمر التالي ، واستبداله <username> مع اسم مستخدم من اختيارك

adduser <username>

ستتم مطالبتك بكلمة مرور. أدخل وتأكد باستخدام كلمة مرور جديدة (مختلفة عن كلمة مرور الجذر) وقم بتخزينها في مكان آمن. سترى أيضًا مطالبات بمعلومات المستخدم ، ولكن يمكن ترك هذا فارغًا. بمجرد أن يتم إنشاء المستخدم ، سنقوم بإضافتهم إلى المجموعة sudo حتى يتمكنوا من تنفيذ الأوامر كجذر

usermod -aG sudo <username>

أعد تشغيل الخادم وسجّل الدخول باسم المستخدم الجديد. في هذه المرحلة ، من المستحسن الاتصال عن بعد باستخدام PuTTY (لـ ويندوز) أو ssh (لنظام التشغيل لينكس و ماك) إذا لم تكن قد قمت بذلك بالفعل.

إعداد ميناء الشحن

إذا كنت متصلاً بشبكة خاصة خلف جهاز توجيه ، فستحتاج إلى إعداد إعادة توجيه المنفذ لمنفذ 8999 على الأقل (UDP / TCP) للوصول إلى المشاركة ، وكذلك المنفذ 7903 (UDP / TCP) إذا كنت تريد العقدة الخاصة بك لتكون في متناول الجمهور. يعتمد كيفية القيام بذلك على جهاز توجيه شبكة الاتصال الخاص بك وبالتالي فهو خارج نطاق هذه الوثائق. يظهر مثال من توزيع موجّه DD-WRT مفتوح المصدر الشعبي أدناه. يمكن العثور على أدلة لإعداد توجيه المنفذ هنا وايضا هنا.

قم بتدوين عنوان IP الخاص بك إما من خلال واجهة إدارة جهاز التوجيه أو من خلال زيارة https://www.whatismyip.com

../_images/p2pool-ddwrt.png

إعداد توجيه المنفذ تحت DD-WRT

الخيار 1: إعداد البرنامج النصي التلقائي

تبرع عضو منتدى dracocephalum بسخاء للنص التلقائي لنشر كل ما يلزم لتشغيل عقدة p2pool-dash تحت يوبنتو Server 16.04 والإصدارات الأحدث. لمزيد من التفاصيل ، انظر هذا المقال, أو ببساطة اتبع هذه التعليمات للحصول على البرنامج النصي. للحصول على البرنامج النصي والبدء ، اكتب

sudo apt install git
git clone https://github.com/strophy/p2pool-dash-deploy

سيتم إنشاء الملفات في مجلد p2pool-dash-deploy. نحن الآن بحاجة إلى تكوين بعض المتغيرات المحددة لنظامك

nano ./p2pool-dash-deploy/p2pool.deploy.sh

قم بالتمرير لأسفل إلى القسم المسمى # Variables وأدخل المعلومات التالية ، واستبدل <xxx> العناصر النائبة بعد تسجيل. لاحظ أنه قد يكون من الضروري أيضًا تحديث DASH_WALLET_URL, DASH_WALLET_ZIP و DASH_WALLET_LOCAL القيم إذا لم تتطابق مع الإصدار الحالي من داش:

  • PUBLIC_IP = your public IP address from the previous step
  • EMAIL = your email address
  • PAYOUT_ADDRESS = your DASH wallet address to receive fees
  • USER_NAME = linux user name
  • RPCUSER = enter a random alphanumeric rpc user name
  • RPCPASSWORD = enter a random alphanumeric rpc password

اضغط على Ctrl + X لإغلاق المحرر و Y و ادخل احفظ الملف. ثم قم بتشغيل البرنامج النصي

bash ./p2pool-dash-deploy/p2pool.deploy.sh

سيقوم البرنامج النصي بتنفيذ جميع الخطوات اللازمة لإعداد P2pool على خادم يوبنتو وبدء مزامنة dashd. عند اكتمال الإعداد ، سترى رسالة تقرأ اكتمل التثبيت. يمكنك الآن تشغيل برنامج نصي ثاني لبدء p2pool-dash

bash ~/p2pool.start.sh

عقدة P2Pool الخاص بك قيد التشغيل الآن. إذا كنت ترى أخطاء مشابهة لـ خطأ في الحصول على عمل من dashd أو داش كور -10 يقوم بتنزيل الكتل ... يجب عليك الانتظار حتى تنتهي داش من المزامنة. بمجرد الانتهاء من ذلك ، يمكنك توجيه عمال المناجم <ip_address>: 7903 لبدء التعدين.

../_images/p2pool-antminer.png
../_images/p2pool-running.png

مثال على التهيئة التي تعرض Bitmain Antminer D3 الموصول بعقدة p2pool-داش على الشبكة المحلية

الخيار 2: الإعداد اليدوي

أولاً قم بتحديث نظام التشغيل الخاص بك كما يلي

sudo apt update
sudo apt upgrade

إعداد dashd

يتطلب P2Pool عقدة داش كاملة ليتم تشغيلها للحصول على بيانات الكتلة والمعاملة. لتنزيل وتثبيت داش ، قم بزيارة https://www.dash.org/wallets على جهاز الكمبيوتر الخاص بك للعثور على الرابط إلى أحدث محفظة داش كور. انقر فوق لينكس ، ثم انقر بزر الماوس الأيمن فوق ** تنزيل TGZ** لـ داش كور في لينكس 64 Bit وحدد نسخ عنوان الرابط. ارجع إلى نافذة طرفك وأدخل الأمر التالي ، وقم بلصق العنوان إلى أحدث إصدار من داش كور عن طريق النقر بزر الماوس الأيمن أو الضغط على Ctrl + V

cd ~
wget https://github.com/dashpay/dash/releases/download/v0.12.2.3/dashcore-0.12.2.3-linux64.tar.gz

تحقق من تكامل التنزيل الخاص بك عن طريق تشغيل الأمر التالي ومقارنة الإخراج مقابل قيمة الملف كما هو موضح في موقع ويب داش ضمن ملف هاش

sha256sum dashcore-0.12.2.3-linux64.tar.gz
../_images/setup-manual-download1.png

اربط بملف تجزئة للتحقق من سلامة التنزيل

قم بإنشاء دليل عمل لـ داش واستخرج الأرشيف المضغوط ونسخ الملفات الضرورية إلى الدليل وتعيينها كملف قابل للتنفيذ:

mkdir .dashcore
tar xfvz dashcore-0.12.2.3-linux64.tar.gz
cp dashcore-0.12.2/bin/dashd .dashcore/
cp dashcore-0.12.2/bin/dash-cli .dashcore/
chmod 777 .dashcore/dash*

تنظيف الملفات غير الضرورية

rm dashcore-0.12.2.3-linux64.tar.gz
rm -r dashcore-0.12.2/

قم بإنشاء ملف تكوين باستخدام الأمر التالي:

nano ~/.dashcore/dash.conf

سوف تظهر نافذة المحرر. نحتاج الآن إلى إنشاء ملف تكوين يحدد عدة متغيرات. قم بنسخ النص التالي ولصقه للبدء ، ثم استبدل المتغيرات الخاصة بالتكوين كما يلي:

#----
rpcuser=XXXXXXXXXXXXX
rpcpassword=XXXXXXXXXXXXXXXXXXXXXXXXXXXX
rpcallowip=127.0.0.1
#----
listen=1
server=1
daemon=1
maxconnections=64
#----

استبدل الحقول التي تحمل علامة XXXXXXX كما يلي:

  • rpcuser: أدخل أي سلسلة من الأرقام أو الحروف ، لا يسمح بالحروف الخاصة
  • rpcpassword: أدخل أي سلسلة من الأرقام أو الحروف ، لا يسمح بالحروف الخاصة

يجب أن تبدو النتيجة شيء من هذا القبيل:

../_images/p2pool-dash-conf.png

إدخال بيانات المفتاح في dash.conf على عقدة P2Pool

اضغط على Ctrl + X لإغلاق المحرر و Y و ادخل احفظ الملف. يمكنك الآن بدء تشغيل داش على ماسترنود لتبدأ التزامن مع بلوكشين

~/.dashcore/dashd

سترى رسالة تقرأ خوادم داش كور تبدأ. يمكنك متابعة الخطوات التالية والتحقق من المزامنة بشكل دوري باستخدام الأمر التالي. اكتمال المزامنة عندما يكون عدد الكتلة مساويًا للعدد الحالي للكتل في بلوكشين داش ، كما يمكن رؤيته من أي محفظة داش متزامنة أو مستكشف الكتلة:

~/.dashcore/dash-cli getblockcount

إعداد P2Pool

سنقوم الآن بإعداد برنامج P2Pool واعتمادياته. تبدأ مع الاعتماديات

sudo apt install python-zope.interface python-twisted python-twisted-web python-dev
sudo apt install gcc g++ git

إنشاء أدلة العمل وإعداد p2pool- داش

mkdir git
cd git
git clone https://github.com/dashpay/p2pool-dash
cd p2pool-dash
git submodule init
git submodule update
cd dash_hash
python setup.py install --user

سنقوم بإضافة بعض الواجهات الإضافية الاختيارية إلى لوحة التحكم

cd ..
mv web-static web-static.old
git clone https://github.com/justino/p2pool-ui-punchy web-static
mv web-static.old web-static/legacy
cd web-static
git clone https://github.com/johndoe75/p2pool-node-status status
git clone https://github.com/hardcpp/P2PoolExtendedFrontEnd ext

يمكنك الآن البدء في p2pool وتحديديا عنوان العائد ، IP الخارجي (إذا لزم الأمر) ، والرسوم والتبرعات على النحو التالي:

python ~/git/p2pool-dash/run_p2pool.py --external-ip <public_ip> -f <fee> --give-author <donation> -a <payout_address>

يمكنك بعد ذلك مراقبة العقدة عن طريق التصفح إلى العناوين التالية ، واستبدالها <ip_address> مع عنوان IP لعقدة P2Pool الخاصة بك:

../_images/p2pool-antminer.png
../_images/p2pool-running.png

مثال على التهيئة التي تعرض Bitmain Antminer D3 الموصول بعقدة p2pool-داش على الشبكة المحلية