Forked for Good? यह कैसे अपने Witnet टेस्टनेट नोड को रीसेट करने के लिए है

चेन कांटे किसी भी ब्लॉकचेन प्रोटोकॉल में अब और फिर से हो सकते हैं, खासकर नेटवर्क परिपक्व होने के रूप में। कांटा से पुनर्प्राप्त करना एक बड़ा नाटक नहीं होना चाहिए; यहाँ इसे विटनेट में कैसे करें।

कांटे भारी नाटक का कारण नहीं होना चाहिए

Witnet नोड को पुन: उत्पन्न करने के लिए इन चार चरणों की आवश्यकता होती है:

  1. अपने नोड की मास्टर कुंजी का बैकअप लें।
  2. अपना नोड बंद करो।
  3. अपने फाइल सिस्टम से अपनी स्थानीय श्रृंखला हटाएं।
  4. अपना नोड पुनः बनाएँ, लेकिन इस बार अपनी मास्टर कुंजी आयात करें।

पूरी प्रक्रिया इस समय थोड़ी भद्दी लग सकती है। विटनेट डेवलपर समुदाय इस वर्कफ़्लो को बेहतर बनाने के लिए कड़ी मेहनत कर रहा है - और अंततः अपने नोड को फिर से फोर्क करने से रोकता है!

उन्नत: - यदि आप डॉकर के स्वयं के कंटेनर वॉल्यूम फ़ीचर का उपयोग कर रहे हैं - तो इसके अलावा, विशेष निर्देश के लिए कृपया इस गाइड के अंतिम भाग को पढ़ें।

चरण 1: अपने नोड्स मास्टर कुंजी का बैक अप लें

अपने नोड के साथ और चल रहा है - भले ही कांटा हो - आप नोड को लगातार अंदर की फ़ाइल में मास्टर कुंजी का बैकअप लेने के लिए कह सकते हैं:

docker execit witnet_node ./witnet नोड masterKeyExport --write

यदि आपने अपने डॉकटर कंटेनर को अलग नाम दिया है, तो बस witnet_node का उपयोग करें जो कुछ भी आपने उपयोग किया है। याद रखें कि आप कंटेनर का नाम और आईडी docker ps के साथ पा सकते हैं।

एक सुरक्षित और सुरक्षित जगह पर बैकअप फ़ाइल की नकल करने के लिए स्वतंत्र महसूस करें। इसके बाद, इसे कुछ सरल और यादगार (मास्टर.की) का नाम दें:

docker witnet_node sh -c को "f / in.witnet/*.txt के लिए निष्पादित करता है; mv \ $ {f} /.witnet/master.key; किया;"

चरण 2: अपना नोड रोकें

ऐसा करने के लिए, बस निष्पादित करें:

docker witnet_node को रोकें

चरण 3: अपनी स्थानीय श्रृंखला हटाएं

अब यह आपके फाइल सिस्टम से आपके स्थानीय (फोर्क्ड) श्रृंखला को पूरी तरह से पोंछने का समय है।

यदि आपने दस्तावेज़ से डिफ़ॉल्ट नोड निर्माण कमांड का उपयोग किया है, तो आपका संग्रहण पथ ~ / .witnet होगा; बस इसे चलाएं और अगले चरण पर जाएं:

~ ~ .witnet /.witnet -type f -not -name '* .key' -delete 2> / dev / null खोजें

यदि आप वास्तव में नहीं जानते हैं कि आपका संग्रहण पथ क्या है, तो यह एक-लाइनर आपको सही रास्ता बताएगा:

docker निरीक्षण -f '{{.Mounts}}' witnet_node | cut -d '' -f3

चरण 4: अपने नोड को फिर से बनाएँ, लेकिन इस बार आपका मुख्य कुंजी बैकअप आयात कर रहा है

अब आपके पुराने डॉकटर कंटेनर को नष्ट करने, इसके लिए एक प्रतिस्थापन बनाने और मास्टर कुंजी बैकअप आयात करने का समय है:

docker कंटेनर rm witnet_node 
docker run -d \ --volume ~ / .witnet: /। witnet \ --name witnet_node \ witnet / witnet- जंग नवीनतम नोड सर्वर \ --मास्टर-कुंजी-आयात / .witnet-master.key

कृपया पुराने कंटेनर को बनाते समय किसी भी पोर्ट बाइंडिंग या किसी भी अतिरिक्त झंडे को जोड़ने के लिए मत भूलें जो आपने मूल रूप से उपयोग किए होंगे।

बस! आपका नोड अब श्रृंखला में पहले ब्लॉक से सिंक्रनाइज़ करना शुरू कर देगा, लेकिन आपकी मास्टर कुंजी और पहचान समान होगी, और आपके टेस्टनेट विट टोकन आपके लिए इंतजार कर रहे होंगे।

याद रखें, एक बार सिंक होने के बाद, आप अपनी विटनेट पहचान और इन कमांड के साथ संतुलन की जांच कर सकते हैं:

docker witnet_node ./witnet नोड getPkh निष्पादित करें
docker witnet_node ./witnet नोड getBalance निष्पादित करें

उन्नत: केवल डॉकर के कंटेनर कंटेनरों के उपयोगकर्ताओं के लिए (शायद आप नहीं)

संलग्न कंटेनर नहीं चल रहा है, जबकि डॉकर के अपने कंटेनर संस्करणों तक पहुँचा नहीं जा सकता। इस प्रकार, चरण 3 काम नहीं करेगा।

कंटेनर वॉल्यूम के उपयोगकर्ताओं के लिए सामान्य अनुशंसा है:

  1. चरण 1 और 2 का पालन करें।
  2. विटनेट कंटेनर से वॉल्यूम को अलग करें, और इसे एक अलग "ऑक्जेल्यूट" कंटेनर पर ~ / .wnetnet पथ पर संलग्न करें।
  3. किसी परिचित कंटेनर (docker -it witnet_node bash) के लिए कंसोल संलग्न करें और चरण 3 से खोज आदेश चलाएँ। कंसोल को अलग करें।
  4. चरण 4 का पालन करें।
  5. किया हुआ!