1. डिस्ट्रिब्यूटेड ब्लॉकचेन एप्स के लिए पर्सनल फाइनेंस 10 डिजाइन सिद्धांत
ड्यूमरीज के लिए इथेरियम

माइकल सोलोमन द्वारा

ब्लॉकचेन तकनीक डेटा को प्रबंधित करने के तरीके में एक विघटनकारी, परिवर्तनकारी दृष्टिकोण है। यह मौलिक रूप से बदलने का वादा करता है कि हम साझा वातावरण में संवेदनशील जानकारी को संभालने वाले कार्यों को कैसे करते हैं। संवेदनशील डेटा पर महत्वपूर्ण संचालन ने ऐतिहासिक रूप से डेटा मालिकों को पर्यावरण पर भरोसा करने के लिए इसे अपने डेटा को प्रबंधित करने की अनुमति देने के लिए आश्वस्त करने के लिए एक मजबूत केंद्रीय प्राधिकरण की आवश्यकता की।

प्रत्येक ब्लॉकचेन डीएपी को दूर करने वाली अधिक कठिन बाधाओं में से एक है विश्वास का निर्माण। उपयोगकर्ताओं को यह विश्वास करना होगा कि ब्लॉकचेन पर चल रहे सॉफ़्टवेयर में संवेदनशील व्यक्तिगत और व्यावसायिक डेटा की आपूर्ति करने से पहले सुरक्षा प्रदान करने और गोपनीयता की सुरक्षा के ठोस उपाय शामिल हैं।

आप कई बुनियादी डिजाइन दिशानिर्देशों का पालन करके इस ट्रस्ट के निर्माण की दिशा में एक लंबा रास्ता तय कर सकते हैं। यदि आप ब्लॉकचेन एप्लिकेशन के लिए दस डिज़ाइन लक्ष्यों का पालन करते हैं, जो आपको यहां मिलते हैं, तो आप अपने उपयोगकर्ताओं को अपने एप्लिकेशन को उसका उपयोग करने और उस पर भरोसा करने के लिए पर्याप्त रूप से प्रोत्साहित करने में मदद करेंगे।

ट्रस्ट के लिए ब्लॉकचेन ऐप डिज़ाइन करें

ब्लॉकचेन समाधान की ओर बढ़ने वाले प्राथमिक कारणों में से एक नोड्स के बीच डेटा साझा करने की इसकी क्षमता है जो एक दूसरे पर भरोसा नहीं करते हैं। यदि आप इसके बारे में सोचते हैं, तो यह वास्तव में डीएपी डेवलपर्स के लिए एक उच्च बार सेट करता है। एक सफल डीएपीपी विकसित करने के लिए, आपको अपने उपयोगकर्ताओं को अपने सॉफ़्टवेयर के साथ अपने सॉफ़्टवेयर पर भरोसा करने के लिए विश्वास दिलाना होगा क्योंकि आप इसे बड़ी संख्या में अन्य नोड्स में भेजते हैं जिन्हें आप विश्वास नहीं करते हैं (और वे विश्वास नहीं करते हैं, या तो)।

विश्वास सामान्य रूप से (लेकिन हमेशा नहीं) सकर्मक होता है। (हां, आप गणित वर्ग में वापस आ गए हैं। यदि A = B, और B = C, तो A = C. आप स्वागत नहीं कर रहे हैं।) यह सबसे सामान्य तरीका है, जैसा कि हम इंसानों पर भरोसा करते हैं।

यदि आप मैरी पर भरोसा करते हैं, और जो आप पर भरोसा करते हैं, तो जो शायद मैरी पर भरोसा करने के साथ ठीक है। मान लें कि आप खाद्य समीक्षक हैं। जो विश्वास करता है कि आप अच्छे भोजन की सलाह देते हैं। यदि आप पोस्ट करते हैं कि आप वास्तव में मैरी के आड़ू पाई को पसंद करते हैं, तो जो उसके भोजन में अपने स्वाद पर भरोसा करता है, जो जो उसके आड़ू पाई की कोशिश करने की अधिक संभावना होगी। लेकिन वह एक भरोसेमंद वातावरण के साथ ट्रैक नहीं करता है। ब्लॉकचैन डीएपी के मामले में, आपके उपयोगकर्ता आप पर भरोसा करते हैं, लेकिन आप अपने स्वयं के ब्लॉकचेन नेटवर्क में दूसरों पर भरोसा नहीं करते हैं।

आपका पहला डिज़ाइन लक्ष्य एक उच्च-स्तरीय उद्देश्य है जिसे आपको सभी निर्णयों के लिए एक शीर्ष-प्रेरक के रूप में रखना है। बाद के कई डिज़ाइन लक्ष्य इस का समर्थन करते हैं: ट्रस्ट के लिए अपना डीएपी डिज़ाइन करें। उस लक्ष्य का मतलब है कि आप विचार करना चाहते हैं कि आपके उपयोगकर्ता क्या चाहते हैं, और इससे उन्हें क्या लगता है कि वे आपके डीएपी पर भरोसा कर सकते हैं।

उपयोगकर्ताओं को यह जानना होगा कि आप उनके डेटा का ध्यान रखेंगे। आपके डीएपी को कुछ भी छिपाना नहीं चाहिए और जो कुछ भी हो रहा है उसकी जांच करना आसान बनाना चाहिए। यह स्पष्ट रूप से अच्छी और बुरी जानकारी का संचार करना चाहिए और कल्याण की समग्र भावना प्रदान करता है। यद्यपि यह सॉफ्टवेयर के लिए एक लंबा आदेश है, यह विश्वास बनाने के लिए आवश्यक है।

विश्वास के लिए डिजाइन करने का सबसे महत्वपूर्ण पहलू यह समझ है कि आपके उपयोगकर्ता कौन हैं और क्या उन्हें सहज महसूस कराता है। संक्षेप में, अपने उपयोगकर्ताओं को जानें। पता करें कि वे क्या चाहते हैं और आप उन्हें कैसे समझा सकते हैं कि आप अपना समय बर्बाद नहीं करेंगे या आप पर उनके विश्वास का लाभ नहीं लेंगे।

ब्लॉकचेन ऐप्स में स्थिरता लागू करें

भ्रम से बचने का सबसे आसान तरीका है कि आप अपने डीएपी में विकल्पों और परस्पर विरोधी अनुभवों को सीमित करें। Microsoft ने बहुत पहले सीखा था स्थिरता में शक्ति। उन्होंने उपयोगकर्ताओं के साथ बातचीत करने के तरीके के लिए मानक विकसित किए, और उपयोगकर्ता इंटरफ़ेस बनाने के हर पहलू को खोजा और परिभाषित किया। यही कारण है कि Microsoft अनुप्रयोग एक दूसरे के समान महसूस करते हैं।

यदि आपने एक Microsoft अनुप्रयोग का उपयोग किया है, तो आप अन्य Microsoft अनुप्रयोगों में कम से कम सामान्य उपयोगकर्ता इंटरफ़ेस को पहचानेंगे। (और यदि आपने कुछ समय के लिए Microsoft उत्पादों का उपयोग किया है, तो आपको याद होगा कि जब वे टाइल-आधारित उपयोगकर्ता इंटरफ़ेस में परिवर्तित होते हैं, तो Microsoft को भारी व्यवधान होता है - बड़े पैमाने पर क्योंकि सभी लोग विरासत Microsoft इंटरफ़ेस के साथ बहुत सहज थे।)

उदाहरण के लिए, यदि आप अपने द्वारा चलाए जा रहे Windows प्रोग्राम के वर्तमान संस्करण को खोजना चाहते हैं, तो आप लगभग हमेशा मदद पर क्लिक या टैप कर सकते हैं, फिर मदद मेनू पर अबाउट मेनू आइटम पर क्लिक या टैप करें।

नीचे दी गई छवि VS कोड में मेनू आइटम के बारे में बताती है। आपके द्वारा चलाए जा रहे प्रोग्राम के संस्करण मेनू सहित, लगभग हर विंडोज एप्लिकेशन में मेनू आइटम बहुत अधिक मौजूद है और बुनियादी जानकारी दिखाता है। उपयोगकर्ता इंटरफ़ेस स्थिरता का यह सरल उदाहरण किसी के लिए भी आवेदन की जानकारी प्राप्त करना आसान बनाता है, इसके लिए शिकार किए बिना।

वीएस कोड एथेरियम

निम्न छवि VS कोड में डायलॉग बॉक्स के बारे में बताती है। आप मदद → के बारे में क्लिक करके या टैप करके अधिकांश Windows अनुप्रयोगों के लिए रिलीज़ जानकारी प्राप्त करेंगे। यह स्थिरता की शक्ति है।

VS कोड डायलॉग बॉक्स के बारे में

आपके dApps को प्रत्येक उपयोगकर्ता सहभागिता के लिए स्पष्ट मानकों को परिभाषित करना चाहिए। जब आप अपने उपयोगकर्ताओं को इनपुट प्रदान करने के लिए कहते हैं, तो इसे अपने डीएपी के दौरान उसी तरह से करें। जब उपयोगकर्ता कई स्थानों पर उत्पाद आईडी दर्ज करता है, तो इनपुट फ़ील्ड को प्रत्येक स्थान पर समान दिखना चाहिए। अपने डीएपी को सुसंगत रूप देने और महसूस करने के लिए समान रंगों, फोंट और इनपुट पद्धति का उपयोग करें।

एक अन्य क्षेत्र जिसमें आपको GUI ऐप्स में निरंतरता मिलेगी, वह है कीबोर्ड शॉर्टकट। आप उस पाठ को नए स्थान पर पेस्ट करने के लिए हाइलाइट किए गए पाठ और Ctrl-V की प्रतिलिपि बनाने के लिए लगभग हमेशा Ctrl-C का उपयोग कर सकते हैं। लगातार कीबोर्ड शॉर्टकट से नए सॉफ़्टवेयर को सीखना और उपयोग करना और भी आसान हो जाता है।

उसी तरह, सभी आउटपुट को मानकीकृत करें। त्रुटि संदेश और अलर्ट मानकीकरण के लिए प्रमुख क्षेत्र हैं। जब संभव हो, सामान्य इनपुट और आउटपुट लेयर्स का उपयोग करें, ताकि सभी इनपुट और आउटपुट समान फ़ंक्शन का उपयोग करें। संपूर्ण डीएपी अधिक सुसंगत लगेगा।

आप अपने उपयोगकर्ताओं को अपने डीएपी का उपयोग करने के लिए प्रोत्साहित करने की कोशिश कर रहे हैं। एक डीएपी जो एक सुसंगत उपयोगकर्ता इंटरफ़ेस प्रस्तुत करता है, वह है बिल्ड ट्रस्ट। संगति आपके उपयोगकर्ताओं के लिए आपके सॉफ़्टवेयर का उपयोग करना सीखना आसान बनाता है, और एक एप्लिकेशन जो सीखना आसान है, वह है जिसे उपयोगकर्ता पसंद करेंगे और स्वीकार करेंगे।

पारदर्शिता के साथ ब्लॉकचेन ऐप से संदेह को दूर करें

उपयोगकर्ताओं द्वारा किसी एप्लिकेशन को अविश्वास करने के कारणों में से एक यह है कि वे वास्तव में इसे नहीं समझते हैं। उपयोगकर्ता अपना डेटा प्रदान करते हैं, लेकिन यह सुनिश्चित नहीं करते हैं कि उसके बाद क्या होता है। वे नहीं जानते कि उनका डेटा कहां जाता है, और क्या यह अभी भी सिस्टम में कहीं है। एक ब्लैक बॉक्स में डेटा डालने की यह भावना ब्लॉकचैन डीएपीएस के साथ और भी मजबूत हो सकती है।

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

स्पष्ट रूप से बताएं कि आपके dApp को किस डेटा की आवश्यकता है, इसके लिए प्रत्येक प्रकार के डेटा की आवश्यकता क्यों है, और आप इसके साथ क्या करते हैं। हर बार जब आप डेटा के लिए संकेत करते हैं, तो आपको यह जानकारी देने की आवश्यकता नहीं होगी, लेकिन यह पहली बार उपलब्ध होना चाहिए जब आप एक नए उपयोगकर्ता के साथ बातचीत करते हैं और उसके बाद मांग करते हैं।

आपको उपयोगकर्ताओं को यह देखने के लिए भी आसान बनाना चाहिए कि उन्होंने क्या किया है (और आपके डेटा के साथ आपके डीएपी ने क्या किया है।) प्रत्येक चरण में पारदर्शिता प्रदान करने से उपयोगकर्ताओं को आत्मविश्वास की भावना मिलती है।

अपने उपयोगकर्ताओं के लिए नीचे ड्रिल करना और क्रियाओं का सत्यापन प्राप्त करना आसान बनाएं। पारदर्शिता का यह स्तर उपयोगकर्ताओं को विश्वास दिलाता है कि आपका dApp वही कर रहा है जो वह करने का दावा करता है, और इस चिंता को कम कर सकता है कि आपका dApp कुछ छिपा रहा है। उपयोगकर्ता की चिंता के स्तर और अपने स्वयं के डिजाइन दिशानिर्देशों के आधार पर, आप प्रत्येक वर्कफ़्लो में या मांग कार्यों पर पारदर्शिता का निर्माण कर सकते हैं ताकि पावर उपयोगकर्ताओं को इच्छाशक्ति को कम करने की अनुमति मिल सके।

अपने ब्लॉकचेन ऐप्स के लिए प्रतिक्रिया, मार्गदर्शन और अपेक्षाएं प्रदान करें

ब्लॉकचैन ऐप के लिए आपके लिए आवश्यक अगला डिज़ाइन लक्ष्य प्रतिक्रिया और मार्गदर्शन और अपेक्षाएं प्रदान करना है। यह लक्ष्य पारदर्शिता का तार्किक विस्तार है। जबकि पारदर्शिता लेनदेन और वर्कफ़्लो का विवरण उपयोगकर्ताओं को आसानी से उपलब्ध कराती है, प्रतिक्रिया, मार्गदर्शन और अपेक्षा की सेटिंग सामान्य वर्कफ़्लो में पारदर्शिता लाती है। केवल उपयोगकर्ताओं को यह देखने की अनुमति देने के बजाय कि क्या हुआ, आपको उन्हें हर महत्वपूर्ण वर्कफ़्लो चरण में सूचनात्मक प्रतिक्रिया के साथ प्रस्तुत करना चाहिए।

उदाहरण के लिए, यदि आप एक निर्माता हैं और आपने एक नए ट्रैक्टर का स्वामित्व एक शिपर को हस्तांतरित कर दिया है, तो आपकी नई आपूर्ति श्रृंखला dApp आपको एक संदेश दे सकती है “आपने सीरियल नंबर ABC-12345 के साथ ट्रैक्टर को यूनिफाइड शिपिंग में स्थानांतरित किया है - लेनदेन 456778 "। बेशक, आपको एक पूंजीगत वस्तु हस्तांतरण के लिए अधिक विवरण मिलेगा, लेकिन आपको यह विचार मिलता है। डीएपी ने प्रतिक्रिया दी जो अनिवार्य रूप से कहती है “अरे, अच्छा काम। यहां आपने क्या किया है। "उपयोगकर्ताओं को आपके डीएपी पर भरोसा करने के लिए जानकारीपूर्ण प्रतिक्रिया पहला कदम है। फीडबैक उन्हें यह आश्वासन देता है कि वे सॉफ़्टवेयर का सही उपयोग कर रहे हैं।

अगले चरण के उपयोगकर्ताओं को भी सूचित करने के लिए आप फीडबैक उदाहरण का विस्तार कर सकते हैं। ट्रैक्टर उदाहरण में, आपके फ़ीडबैक संदेश में "क्या आप अब शीर्षक जारी करना चाहते हैं?" शामिल हो सकते हैं, अगले चरण पर जाने के लिए बटन पर क्लिक करने या टैप करने के विकल्प के साथ संदेश। एंड-टू-टास्क इस तरह की मदद करता है ताकि यह सुनिश्चित किया जा सके कि उपयोगकर्ता उचित वर्कफ़्लो को समझें और उन्हें यह आभास दें कि सॉफ्टवेयर उन्हें सही तरीके से अपना काम करने में मदद कर रहा है। जब सॉफ़्टवेयर उपयोगकर्ताओं को अधिक प्रभावी बनाता है, तो यह विश्वास बनाने की दिशा में एक लंबा रास्ता तय करता है। हर कोई सॉफ्टवेयर से प्यार करता है जो उन्हें अच्छा दिखता है!

कक्षा के साथ अपने ब्लॉकचेन ऐप में गलतियों को संभालें

इसका सामना करें, त्रुटियां होती हैं। और कभी-कभी वे त्रुटियां बड़ी होती हैं। उम्मीद है कि आपको परीक्षण के दौरान आपके सॉफ़्टवेयर की सभी बड़ी त्रुटियां मिलीं। (आपने थकावट से परीक्षण किया, सही?) यदि आपने किया, तो उत्पादन में आपके द्वारा सामना की जाने वाली अधिकांश त्रुटियां उपयोगकर्ता की त्रुटियां होंगी।

जब आप उपयोगकर्ता की त्रुटियों को संभालते हैं, तो किसी भी नोटिफिकेशन से बचने की कोशिश करें जो सूक्ष्म रूप से कहता है कि "आपने गड़बड़ कर दी है!" स्थिति को हल करने पर ध्यान केंद्रित करें, न कि नाम बदलने की।

आप शायद एक कार में अपने पहले जीपीएस डिवाइस का उपयोग करना याद रखें। जीपीएस के शुरुआती दिनों में, यदि आप सुझाए गए मार्ग से भटक गए हैं, तो आपने एक बहुत कठोर "रीरूटिंग" संदेश सुना है। आवाज ने कहा हो सकता है "आपने मुझे बताया था कि आप नहीं जा रहे हैं।" रुको, मैं आपको बताता हूं कि मैंने आपको पहली जगह में जो बताया था, उसे कैसे वापस लाया जाए। ”त्रुटि संदेशों से उपयोगकर्ताओं को सूचित किया जाना चाहिए कि क्या हुआ है, लेकिन आगे क्या करना है, इस पर ध्यान केंद्रित करें। हां, जीपीएस ने ऐसा किया, लेकिन यह आमतौर पर एक सूक्ष्म डांट के बाद था। अपने उपयोगकर्ताओं को डांटें नहीं।

दूसरी ओर, त्रुटियों पर ध्यान केंद्रित करने में बहुत अधिक समय खर्च न करें। अत्यधिक क्रिया त्रुटि संदेश भ्रामक हो सकते हैं और पढ़ने में बहुत लंबे समय तक लग सकते हैं। मुद्दे पे आईये। उपयोगकर्ता के दृष्टिकोण से हमेशा त्रुटि हैंडलिंग डिज़ाइन करें। उपयोगकर्ताओं को वे सब कुछ दें जो उन्हें त्रुटियों के लिए त्वरित और निर्णायक रूप से प्रतिक्रिया करने की आवश्यकता है, और कुछ भी नहीं।

त्रुटि संदेश अंत उपयोगकर्ताओं को यह समझने में मदद करते हैं कि क्या हो रहा है, और समस्या निवारण होने पर सहायता कर्मियों की भी मदद करें। अपनी त्रुटि संदेश प्रणाली को डिज़ाइन करें ताकि यह आवश्यक उपयोगकर्ता संदेश और साथ ही समस्या निवारण और जांच की मांग पर और अधिक मौखिक संदेश प्रदान करे।

याद रखें कि ब्लॉकचेन अपरिवर्तनीय है, इसलिए इसे ब्लॉक में बनाने वाली कोई भी त्रुटि हमेशा रहेगी। ब्लॉकचेन पर उस डेटा को संग्रहीत करने से पहले आपके डीएपी को डेटा के साथ उपयोगकर्ता के मुद्दों को हल करना चाहिए। त्रुटियों को संभालने की चाल उपयोगकर्ताओं को धीमा करने के बिना सही समाधान के लिए मार्गदर्शन करना है। इस बात पर ध्यान देने की आवश्यकता है कि आपके उपयोगकर्ता कौन हैं, वे आपके डीएपी का उपयोग कैसे करते हैं, और उन्हें किसी समस्या को हल करने की आवश्यकता है। आपका एक डिज़ाइन लक्ष्य सभी मामलों में आपके उपयोगकर्ताओं की आवश्यकताओं को पूरा करने वाले त्रुटि से निपटने का होना चाहिए।

आपके ब्लॉकचेन ऐप में डिज़ाइन फ़ंक्शन जो उपयोगकर्ता के कार्यों पर ध्यान केंद्रित करते हैं, न कि डेटा पर

फ़ंक्शंस आपके स्मार्ट कॉन्ट्रैक्ट की कार्रवाई प्रदान करते हैं। स्मार्ट अनुबंधों को देखने का एक तरीका यह है कि वे डेटा (संज्ञा) और क्रिया (क्रिया) से बने होते हैं। इस तरह से स्मार्ट कॉन्ट्रैक्ट तैयार करने से उनका वर्णन करना और डिजाइन करना आसान हो जाता है, और आमतौर पर एक ऐसे एप्लिकेशन का परिणाम होता है जो उपयोगकर्ता के दृष्टिकोण से अच्छी तरह से बहता है।

क्योंकि सभी एप्लिकेशन कुछ उपयोगकर्ताओं की आवश्यकताओं को पूरा करने के लिए मौजूद हैं, यह उपयोगकर्ता के प्रकाश में सॉफ्टवेयर डिजाइन करने के लिए समझ में आता है। उच्चतम स्तर पर, यदि कोई उपयोगकर्ता एक नया आदेश बनाना चाहता है, तो आपका निर्माण createNewOrder () नामक फ़ंक्शन से शुरू होना चाहिए। आप अपने डिज़ाइन को परिष्कृत करने के साथ-साथ चीजों को बदल सकते हैं, लेकिन उपयोगकर्ता के दृष्टिकोण से शुरू करने से सॉफ़्टवेयर के लक्ष्यों के साथ प्रामाणिकता बनाए रखने में मदद मिलती है। उपयोगकर्ता के लक्ष्यों को पूरा करने वाले तकनीकी घटकों को डिज़ाइन करना भी उच्च-स्तरीय कार्यात्मक लक्ष्यों से बहुत दूर होने से बचने में मदद करता है।

आज के कई सॉफ्टवेयर डेवलपमेंट संगठन उपयोगकर्ता कहानियों के साथ शुरू होने वाले तरीकों पर निर्भर करते हैं। एक डेवलपर के रूप में, आपको एक ऐसा सॉफ्टवेयर तैयार करने के लिए कहा जाएगा जो एक ऐसी आवश्यकता को पूरा करता हो, जो "एक उपयोगकर्ता के रूप में, मैं ____ चाहता हूं।" (पूर्व कथन से रिक्त), उपयोगकर्ता के अनुकूल सॉफ्टवेयर बनाने के लिए एक अच्छी डिजाइन रणनीति है।

प्रत्येक फ़ंक्शन को उपयोगकर्ता क्रियाओं के लिए सीधे मैप नहीं करना पड़ता है, लेकिन आपके उच्च-स्तरीय कार्यों को ऐसे देखना चाहिए जैसे वे उपयोगकर्ता कहानियों को संतुष्ट करते हैं। किसी भी कार्य के तकनीकी चरणों को करने के लिए आपको हमेशा निम्न-स्तरीय कार्य-उन्मुख या डेटा-उन्मुख कार्यों की आवश्यकता होगी। यह ठीक है अगर वे कार्य उपयोगकर्ता की कहानियों के लिए सीधे मैप नहीं करते हैं। लेकिन आपके निचले-स्तर के फ़ंक्शंस उन सभी फ़ंक्शंस में खेलने चाहिए, जिनके साथ उपयोगकर्ता सहभागिता करते हैं। अंगूठे के एक बहुत ही सामान्य नियम के रूप में, आपके सार्वजनिक कार्यों को उपयोगकर्ता की कहानी प्रतिक्रियाओं की तरह दिखना चाहिए।

ब्लॉकचैन ऐप डेटा को उपयोगकर्ता क्रियाओं पर आधारित करें, न कि डेटा संरचनाओं पर

उपयोगकर्ता सीधे डेटा के साथ बातचीत नहीं कर सकते हैं, लेकिन फिर भी आपको उपयोगकर्ता की आवश्यकताओं के आधार पर डेटा को व्यवस्थित करने का प्रयास करना चाहिए। यह सामान्य लक्ष्य अंगूठे का एक नियम है। प्रारंभ में अपने स्मार्ट अनुबंध डेटा आवश्यकताओं को डिज़ाइन करते समय इस लक्ष्य का उपयोग करें। आपको डिज़ाइन को परिष्कृत करने और इसे बदलने की आवश्यकता होगी, लेकिन उपयोगकर्ता अनुरोधों के लिए डेटा मैप के साथ शुरू करने से आपके सॉफ़्टवेयर को उपयोगकर्ता की आवश्यकताओं के अनुरूप रहने में मदद मिलती है।

उदाहरण के लिए, यदि आप ऑर्डर बनाने और बनाए रखने के लिए सॉफ़्टवेयर डिज़ाइन कर रहे हैं, तो एक सोलिडिटी स्ट्रक्चर स्टेटमेंट के साथ शुरू करें जो एक ऑर्डर को परिभाषित करता है जिस तरह से उपयोगकर्ता इसे देखता है। एक ऑर्डर फ़ील्ड का एक संग्रह हो सकता है जो इसका वर्णन करता है, जैसे कि ऑर्डर नंबर, ऑर्डर की तारीख, ग्राहक ऑर्डर, निर्देश, और ऑर्डर लाइनों की एक सूची। ऑर्डर लाइनों में उत्पाद संख्या, मूल्य और मात्रा जैसे फ़ील्ड शामिल हैं। आप इसे चर की संरचना और ऑर्डर लाइन के ढांचे की सूची के रूप में परिभाषित कर सकते हैं।

आप डेटा को कैसे परिभाषित करते हैं, इसके तकनीकी विवरणों के बावजूद, इस लक्ष्य का मुख्य उद्देश्य यह विचार करना है कि उपयोगकर्ता डेटा का उपयोग कैसे करेंगे, और डेटा को इस तरह पेश करने का प्रयास करेंगे। यदि आप अपने सॉफ़्टवेयर में पारदर्शिता को बढ़ावा देने के लिए उपयोगकर्ताओं को सीधे आदेश उपलब्ध कराते हैं, तो आप जितना संभव हो उतना आसान ऑर्डर करना चाहते हैं। आप पारदर्शिता को बढ़ावा नहीं देना चाहते हैं और फिर उपयोगकर्ताओं को यह पता लगाने के लिए कड़ी मेहनत करनी चाहिए कि आपके डेटा का क्या मतलब है। डेटा को एक्सेस करना और समझना आसान बनाना और भी अधिक विश्वास पैदा करेगा।

अपने ब्लॉकचेन ऐप को सरल रखें

डीएपी डिजाइन करते समय आपके पास कई बातों का ध्यान रखना चाहिए। यद्यपि उपयोगकर्ताओं पर ध्यान केंद्रित करने के लिए प्रत्यक्ष डिजाइन निर्णयों में मदद करनी चाहिए, प्रवृत्ति प्रत्येक उपयोगकर्ता की आवश्यकता को पूरा करने का प्रयास करना है। यदि अनियंत्रित छोड़ दिया जाता है, तो यह सब करने की इच्छा आपके सॉफ़्टवेयर को अत्यधिक जटिल और उपयोग करने में कठिन बना देगी। उपयोगकर्ताओं को बहुत सारे विकल्प देना पहली बार में एक अच्छा लक्ष्य लगता है, लेकिन एक अभिभूत उपयोगकर्ता आपके सॉफ़्टवेयर को पसंद (या उपयोग) नहीं करने वाला है।

सामान्य-उद्देश्य विशेषण "इसे सरल, मूर्ख रखें" अभी भी प्रासंगिक है। यह एक कड़ा अनुस्मारक है कि सादगी जटिलता से कहीं अधिक स्मार्ट है। आपने सुना होगा कि "एक भ्रमित दिमाग हमेशा कहता है कि नहीं," लेकिन आप चाहते हैं कि आपके उपयोगकर्ता आपके डीएपी को स्वीकार करें और उसका उपयोग करें। आप उन्हें ढूंढना चाहते हैं कि आपका सॉफ़्टवेयर उन्हें अधिक प्रभावी और कुशल बनाता है। उन लक्ष्यों को प्राप्त करने के लिए, आपको अपने सॉफ़्टवेयर को आसान और स्पष्ट समझना और उपयोग करना होगा।

सरलता उपयोगकर्ता इंटरफ़ेस से शुरू होती है, लेकिन यह वहाँ नहीं रुकती है। आपके एप्लिकेशन के कार्यात्मक और डेटा डिज़ाइन का प्रत्येक पहलू यथासंभव सरल होना चाहिए बहुत अधिक करने की कोशिश न करें। इसके बजाय, यह निर्धारित करें कि आपके उपयोगकर्ताओं को क्या चाहिए और सबसे अधिक चाहिए, और ऐसा करें। कार्यक्षमता को प्राथमिकता दें जो आपके सॉफ़्टवेयर को बाहर खड़ा कर देगा। इसे सरल रखना अधिक काम लेता है, लेकिन अक्सर एक केंद्रित, सुसंगत उत्पाद होता है जिसका उपयोग उपयोगकर्ता करेंगे।

ब्लॉकचैन की पहुंच महंगी होने की उम्मीद है

एक और आसान डिजाइन लक्ष्य जो आपको विकास के बाद के विकास से बचने में मदद करेगा शुरुआत से ही दिखा रहा है कि ब्लॉकचेन पर डेटा संग्रहीत करना महंगा है। क्योंकि वास्तव में, यह है। कई लोग जिन्होंने वाई 2 के भविष्य में बहुत दूर थे, उनके लिए प्रोग्रामिंग करना शुरू कर दिया था, भंडारण आज की तुलना में बहुत सस्ता है। अधिकांश डेवलपर्स को आज डेटा आकार या इसे स्टोर करने के बारे में चिंता करने की ज़रूरत नहीं है। ब्लॉकचेन वह सब बदल रही है। अब, सस्ते और तेज भंडारण के टन उपलब्ध होने के बजाय, आपको भुगतान करना होगा जैसे आप जाते हैं।

ब्लॉकचैन में महंगे स्टोरेज कोई नई बात नहीं है, लेकिन इसे भूलना आसान हो सकता है। यदि आप खुद को याद दिलाते हैं कि भंडारण जल्दी महंगा है, तो आप भंडारण विकल्पों के बारे में अधिक अच्छी तरह से सोच पाएंगे।

उदाहरण के लिए, क्या आपको शहर और राज्य को संग्रहीत करने की आवश्यकता है जहां एक उत्पाद भेज दिया जाएगा? शहर और राज्य दोनों पिन कोड (या अधिक सामान्य सेटिंग्स में पोस्टल कोड) पर निर्भर हैं। आप शिपिंग पते में ज़िप कोड स्टोर कर सकते हैं, और फिर रनटाइम पर एक ऑनलाइन एपीआई का उपयोग करके संबंधित शहर और राज्य को देख सकते हैं।

डेटा को अलग करना जैसे कि ज़िप कोड उदाहरण आपके आवेदन के लिए मायने नहीं रखता है, लेकिन आप हमेशा अपने डेटा संग्रहण विकल्पों के माध्यम से सोचने से लाभान्वित होंगे। सबसे महंगी भंडारण विकल्प लगभग हमेशा खराब डिजाइन योजना का परिणाम होते हैं। जिस तरह से आप पारंपरिक डेटाबेस एप्लिकेशन डिज़ाइन करते हैं, उसी तरह से ब्लॉकचैन डिज़ाइन नहीं करता है। वे बस एक ही नहीं हैं एक अलग मानसिकता के साथ डिजाइन करें और आप एक बेहतर सॉफ्टवेयर उत्पाद के साथ अंत करेंगे।

ब्लॉकचैन ऐप उपयोगकर्ता के रास्ते से बाहर रहें

एक अच्छा ब्लॉकचेन एप्लिकेशन इस तरह से सबसे महत्वपूर्ण उपयोगकर्ता की जरूरतों को पूरा करता है जो उन्हें अधिक प्रभावी और कुशल बनाने में मदद करता है। हालाँकि, आपके डिज़ाइन को न केवल यह सोचना चाहिए कि आपका आवेदन क्या है, बल्कि यह भी नहीं है कि वह क्या करता है।

हर एप्लिकेशन में अड़चनें और सीमाएं होती हैं। यह डिज़ाइन लक्ष्य किसी अन्य चीज़ पर केंद्रित है जो आपका एप्लिकेशन नहीं करता है: यह उपयोगकर्ता के तरीके से नहीं मिलता है। सीधे शब्दों में कहें, आपके एप्लिकेशन को उपयोगकर्ताओं की मदद करनी चाहिए, उन्हें धीमा नहीं करना चाहिए। आपके उपयोगकर्ता इंटरफ़ेस को उपयोगकर्ताओं को अपना काम करने में मदद करनी चाहिए, और आवश्यक होने पर उपयोगकर्ता इंटरफ़ेस तत्वों के बीच संक्रमण सहज और शिक्षाप्रद होना चाहिए।

कभी-कभी आपको उपयोगकर्ताओं से डेटा लेना होगा, और फिर इसे ब्लॉकचेन पर संग्रहीत करना होगा। (आपको याद है कि यह महंगा है, ठीक है?) क्योंकि आप जानते हैं कि आप उपयोगकर्ताओं को ब्लॉकचेन पर डेटा स्टोर करने के लिए भुगतान करने जा रहे हैं, इसलिए उन्हें इसके लिए इंतजार न करें। जब भी संभव हो, पृष्ठभूमि में अपने डेटा को संचालित करने वाले फ़ंक्शन को अपने उपयोगकर्ताओं को कुछ उत्पादक करने दें। घटनाओं का उपयोग करने के लिए आपके कोड में यह एक अच्छी जगह हो सकती है।

अपने उपयोगकर्ताओं के लिए बाधा बनने से बचने के लिए वह सब कुछ करें जो आप कर सकते हैं। किसी को इंतजार करना पसंद नहीं है। विचार के साथ डिजाइन और आपके उत्पाद में आपके उपयोगकर्ताओं की जरूरतों को पूरा करने का एक बेहतर मौका होगा।