सीटीआय डेव्हलपमेंट बेस्ट प्रॅक्टिस - आमचा कोड आणि गीटहब कसा वाचावा

परिचय

हा दस्तऐवज सीओटीआयमध्ये आम्ही वापरतो त्या विकास आणि कोडिंग पद्धतींचा आढावा घेतो आणि आमच्या कोडींग प्रक्रियेशी संबंधित काही मुख्य बाबींची रूपरेषा बनवते, आवृत्ती, सार्वजनिक आणि खाजगी गिटहब, भांडार आणि समुदाय गुंतवणे.

सीटीआयच्या पायाभूत सुविधा ट्रस्टचेन इन्फ्रास्ट्रक्चर आहे, मशीन लर्निंगवर आधारित मालकीचे एकमत अल्गोरिदम, जे व्यवहारात नाटकीयरित्या व्यवहार खर्च कमी करते आणि ट्रान्झॅक्शनला ट्रस्ट स्कोअर देऊन आणि साखळींमध्ये क्लस्टर करून प्रक्रियेची गती वाढवते.

ट्रस्टचेन इन्फ्रास्ट्रक्चर एका मल्टी-डीएजी (निर्देशित अ‍ॅसायक्लिक ग्राफ) डेटा स्ट्रक्चरवर आहे, जे स्केलेबिलिटी वाढविण्यासाठी कार्य करते. डीएजी मॉडेल अपवादात्मक कामगिरी आणि कार्यक्षम व्यवहार प्रक्रियेसाठी फ्रेमवर्कसह सीटीआय प्रदान करते. तेथे अनेक टोकन प्रकार आणि उपयोग आहेत, जे सीटीआय डीएजी इन्फ्रास्ट्रक्चरच्या अंमलबजावणीसाठी फायदेशीर आहेत.

सीटीआय कोडिंग सराव

आमची कोडिंग प्रक्रिया काय आहे?

सीटीआय कोडिंग प्रक्रियेमध्ये दोन प्रकारची रेपॉजिटरीज वापरली जातातः खाजगी आणि सार्वजनिक. एक सामान्य पद्धत म्हणून आम्ही सार्वजनिक आवृत्तीमध्ये आमच्या गिट रिपॉझिटरीजसाठी स्वच्छ वृक्ष राखण्यासाठी गिट रीबेस वर्कफ्लो (विनंती खेचण्यासाठी आणि विलीन करण्यास विरोध म्हणून) वापरतो.

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

उदाहरणार्थ, आपण 'कोटि-नोड' रेपॉजिटरी 'मल्टी_कुरन्सी_देव' शाखा पाहिल्यास. कोणत्याही कमिटशिवाय काही अंतर आहेत (उदा. कमिट बीसीडी 40868241503eb008953c030664a0e2d02e4df - रीफॉर्मेट कोड दरम्यान

आणि c0c2ee448931a91522d632eb43c54d8c421fc14b - getTokenMintingFee कमिट करा)

परंतु जर आपण नंतरचे पुनरावलोकन केले तर या कमिटमध्ये एकाधिक स्क्वॅश कमिटचा समावेश आहे आणि 40 सुधारित फायली, 33 जोडलेल्या फाइल्स आणि 1 पुनर्नामित फाइल हाताळली आहे.

या पध्दतींचा अवलंब करण्यामागील कारण म्हणजे आपल्या सार्वजनिक भांडारात आणि आमची मुख्य नेटकीकडे कार्य करण्याच्या आणि चाचणी केलेल्या कोड शाखा आणि वचनबद्धतेची देखरेख ठेवण्याची प्रक्रिया अधिक शाश्वत बनविणे होय.

आवृत्ती / प्रकाशन

आपण आमच्या रिलीज प्रत्येक नोड रिपॉझिटरीमध्ये 'कोटी-नोड' अपवाद वगळता शोधू शकता जे देव हेतूंसाठी वापरले जाते. आपणास बर्‍याच नोड रिपॉझिटरीजच्या शाखांमध्ये आवृत्ती आढळू शकते (स्टोरेज आणि हिस्ट्री नोड वगळता). आत्तासाठी आमच्याकडे v.1.0.0.RELEASE आणि v.1.0.1.RELEASE दोन रिलीझ आहेत. एखाद्यास मागील आवृत्तीकडे लक्ष देऊ इच्छित असल्यास ते रीलिझ शाखांमध्ये बदलू शकतात.

हे लक्षात घेणे देखील महत्त्वाचे आहे की आम्ही सध्या आवृत्ती व्यवस्थापनावर कार्य करीत आहोत.

आम्ही सार्वजनिक / खाजगी भांडारांवर केव्हा पोस्ट करतो?

कोटि-नोडमध्ये विकसित केलेली प्रत्येक गोष्ट मिरर होईपर्यंत काही दिवसांच्या विलंबाने प्रत्येकाद्वारे पाहिली जाऊ शकते. कोटि-नोड विकासासाठी आम्ही सध्या आमची खासगी कोटिटेक-आयओ / कोटी-नोड रेपॉजिटरी वापरतो, आमच्याकडे मास्टर आणि देव शाखा आहेत. साधारणपणे, प्रत्येक नवीन वैशिष्ट्यासाठी, आम्ही आणखी एक शाखा उघडतो आणि त्या वैशिष्ट्यावर कार्य करणारे प्रत्येक कार्यसंघ सदस्य आणखी एक वैयक्तिक शाखा (देव_नाव / शाखा_नाव) उघडतो जी त्या बदल्यात देव आणि मास्टरवर पुन्हा चालू केली जाते.

कोड पुनरावलोकन आणि बदलांच्या चाचणीनंतर आम्ही आमच्या खाजगी कोटिटेक-आयओ / कोटि-नोडला नियमितपणे कोटि-आयओ / कोटि-नोडमध्ये प्रतिबिंबित करतो आणि प्रत्येक सार्वजनिक नोड रेपॉजिटरी अद्यतनित करतो जे केवळ प्रकाशन हेतूंसाठी असतात.

हे लक्षात घेणे महत्वाचे आहे की आमच्याकडे इतर खाजगी रेपॉजिटरी देखील आहेत आणि आम्ही बर्‍याचदा विकासाच्या प्रयत्नांना त्या आवश्यकतेनुसार त्या भांडारांकडे वळवित असतो.

विकास भाषा

सीओटीआयचा बहुतेक कोडबेस जावा आणि जावास्क्रिप्टमध्ये लिहिलेला आहे.

स्थिर कोड विश्लेषणासाठी आम्ही आमच्या जावा आयडी मध्ये सोनार लिंट वापरतो, जेएससाठी एस लिंट.

बहुतेक अनुप्रयोग आणि सेवा स्तर कोड यामध्ये लिहिलेला आहेः नोडजेएस आणि प्रतिक्रिया

कोड विश्लेषण

आमच्या कोठारांसाठी स्टॅटिक कोड विश्लेषणासाठी आम्ही कोडसी वापरतो.

कोड कव्हरेज

चाचणी आमच्या विकास जीवनक्रियेचा अविभाज्य भाग आहे आणि आमच्या सॉफ्टवेअरच्या गुणवत्तेचा एक महत्वाचा भाग आहे. हे कोड कव्हरेज नावाच्या मेट्रिक्सचा वापर करून मोजले जाऊ शकते. कोड कव्हरेज स्वयंचलित चाचण्या चालू असताना आपल्या कोडची किती ओळी / ब्लॉक्स कार्यान्वित केल्या जातात याचे एक मापन आहे.

बाह्य साधने वापरुन आमच्या कोडचे विश्लेषण केल्याने आपल्याला दिसून येईल की सीओटीच्या कोडबेसमध्ये चाचणी प्रकरणांमध्ये लक्षणीय रक्कम समाविष्ट आहे. हे सूचित करते की सीओटी कार्यसंघ आमच्या सॉफ्टवेअरच्या गुणवत्तेबद्दल गंभीर आहे आणि सॉफ्टवेअर विकासाच्या सर्वोत्तम पद्धतींमध्ये व्यस्त आहे.

आमच्याकडे खासगी लायब्ररीत काय आहे

आमच्या व्यवसाय आणि दत्तक नीतीचा एक भाग म्हणून, आम्ही बर्‍याच सेवा आणि अनुप्रयोग तयार केले आहेत जे व्यापारी आणि कंपन्या आमच्या पायाभूत सुविधांमध्ये उशिरपणे समाकलित करण्यासाठी आणि आमच्या नेटवर्कवर उपाय तैनात करण्याची प्रक्रिया सुलभ करण्यासाठी वापरतात. त्यापैकी काही बनलेले आहेतः

  • केवायसी 3 रा पक्ष एकीकरण
  • क्रेडिट कार्ड पेमेंट गेटवे एकत्रीकरण
  • इंटरऑपरेबिलिटी आणि क्रॉस प्लॅटफॉर्म टोकनवर प्रक्रिया करण्यासाठी तरलता प्रदाता
  • क्रिप्टो-> फिएट, फिएट-> क्रिप्टोपासून त्वरित तोडगा कार्यान्वित करण्यासाठी पारंपारिक पेमेंट गेटवे आणि बँकांमध्ये एकत्रिकरण
  • सीटीआय-एक्स - एक्सचेंज कार्यान्वयन आणि एकत्रीकरण

गितहबमध्ये काय चालले आहे आणि अद्याप उपलब्ध नाही?

कोटि-नोडमध्ये विकसित केलेली प्रत्येक गोष्ट मिरर होईपर्यंत काही दिवसांच्या विलंबाने प्रत्येकाद्वारे पाहिली जाऊ शकते. GitHub वर अद्याप उपलब्ध नसलेल्या सद्य विकासाच्या प्रयत्नांमध्ये:

  • मल्टीडाग - वॉलेट एकत्रीकरण + टोकन उपयोजन अनुप्रयोग
  • पीबीएफटी आमच्या सुधारित एकमत आणि पीबीएफटी संशोधन आणि घडामोडींवर कार्य करते
  • इतिहास नोड्स - इतिहास नोड्ससह संपूर्ण एकत्रिकरण अद्याप विकसित आहे
  • सानुकूलने 3 रा पक्षीय व्यापारी एकत्रीकरण केले
  • सिंक्रोनाइझेशन आणि स्केलेबिलिटीसाठी डीएजी डेटा स्ट्रक्चर सुधार.

देव समुदाय प्रतिबद्धता

सध्या, कोणतेही सार्वजनिक योगदान नाही जेणेकरुन आमच्या सार्वजनिक भांडारांवर कोणत्याही पुल विनंत्या झाल्या नाहीत. आम्ही मुक्त समुदायाचे योगदान आणि विकास समुदायासह गुंतलेले महत्त्व ओळखतो. प्रारंभिक चरण म्हणून आम्ही अलीकडेच आमच्या सर्व नोड रेपॉजिटरीज सार्वजनिक केल्या आहेत आणि आमच्या डिस्कॉर्ड चॅनेलवरील देव समुदायासह व्यस्त आहोत. आम्ही एक सीटीआय देव टेलिग्राम उघडण्याची देखील योजना आखली आहे आणि आम्ही आमच्या गिडहब रेपॉजिटरीज README फायली आणि तंतोतंत सूचना देऊन अधिक स्वागतार्ह बनवल्या आहेत. आमच्याशी संपर्क साधण्यासाठी आणि जास्तीत जास्त देव / तांत्रिक प्रश्न विचारण्यासाठी आम्ही समुदायाचे स्वागत करतो.

आमच्या पायाभूत सुविधांच्या चाचणीचा एक भाग म्हणून आम्ही आमचे नेटवर्क टेस्टनेट नोड ऑपरेटर तसेच अनेक नोड ऑपरेटरसाठी आधीच पूर्ण नोड सोर्स कोड चालविते. याव्यतिरिक्त, आम्ही अलीकडेच आपला बग बाउंटी प्रोग्राम सादर केला आहे आणि आमच्या कोड बेससह अधिक विकसकांना आकर्षित करण्यासाठी प्रोत्साहन योजनांची चाचणी केली आहे.

सीटीआय गीथब रेपॉजिटरीज

सीओटीआय प्रकल्पात 21 सहयोगकर्त्यांसह एकूण 16 भांडार आहेत.

सीटीआय डेव्हलपमेंट इकोसिस्टममध्ये असे आहेः

  • डीएजी आधारित ब्लॉकचेन
  • ट्रस्ट कॉन्सेन्सियस अल्गोरिदमचा पुरावा
  • मल्टीडाग
  • ग्लोबल ट्रस्ट सिस्टम
  • युनिव्हर्सल पेमेंट सोल्यूशन
  • प्रदानाची द्वारमार्गिका
  • ग्राहक सीटीआय वेतन अनुप्रयोग
  • मर्चंट सीटीआय वेतन व्यवसाय

सर्व सीटीआय सार्वजनिक कोड https://github.com/coti-io वर उपलब्ध आहेत

सीटीआय-नोड रेपॉजिटरी

सीटीआय नोड ही सीटीआयच्या डीएजी-आधारित वितरित खातेवरासाठी विकास भांडार आहे. यात बेसनोड (जे सर्व सीटीआय नोड्ससाठी बेस फंक्शनॅलिटी प्रदान करते) आणि इतर सर्व सीओटी नोड्सचा समावेश आहे.

कोटि-झिरोस्पेन्ड-सर्व्हर, कोटि-हिस्ट्री-नोड, कोटि-डीएसपी-नोड, कोटी-फुलनोड, कोटी-ट्रस्टस्कोर-नोड, कोटी-स्टोरेज-नोड, कोटी-आर्थिक-सर्व्हर, कोटी-नोडिमॅनेजर - हे रिपॉझिटरीज रिलीझसाठी आहेत आणि विकासासाठी वापरला जात नाही. हे रेपॉजिटरीज नियमितपणे कोटि-नोड रेपॉजिटरीमधून अद्ययावत केल्या जातात आणि जेथे आवृत्ती / प्रकाशन आढळू शकते.

या रेपॉजिटरीजमध्ये आमची सर्व पायाभूत सुविधा, ट्रस्टचेन प्रोटोकॉल, एकमत, मल्टीडीएजी आणि K lines के पेक्षा जास्त कोडच्या ओळींचा समावेश आहे.

सीटीआय-एन्क्रिप्शन-लायब्ररी

कोटि-एन्क्रिप्शन-लायब्ररी ही एक सार्वजनिक लायब्ररी आहे जी आमच्या ब्लॉकचेन, देखरेखीसाठी आणि कार्यक्षमता विकसित करण्यासाठी एकत्रित करण्यासाठी वापरली जाऊ शकते. यात संपूर्ण नोड्ससह समाकलित करण्यासाठी एपीआय असते आणि पायाभूत सुविधांच्या शीर्षस्थानी सानुकूल मेड वॉलेट, एक्सचेंज अॅप किंवा इतर कोणत्याही डीपीए तयार करण्यासाठी वापरले जाऊ शकते.

सीटीआय वॉलेट रिपॉझिटरीज

रेपॉजिटरीमध्ये क्लायंट साइड सीओटीआय वॉलेट प्रतिक्रिया कोड + एक प्रस्तुत सर्व्हर (एक्सप्रेस) आहे.

सीटीआय सेवा / अ‍ॅप्स रेपॉजिटरी

  • कोटि-एक्सचेंज-अ‍ॅप - एक कोडे फुल नोडसह सर्व संप्रेषणे हाताळणारे एक नोड.जेएस (सेलस.जेएस व्ही 1 आधारीत) मायक्रोकर्वाइस. अ‍ॅपने उर्वरित एपीआय अंतिम बिंदू उघडकीस आणल्या आहेत ज्या एक्सचेंजद्वारे वापरले जाऊ शकतात:
  • व्यवहारांचे परीक्षण करा, पत्ते शिल्लक (ठेवी ओळखण्यासाठी आणि पैसे काढण्याची पुष्टी करण्यासाठी)
  • व्यवहार पाठवा (पैसे काढणे)
  • पाकीट पत्ते व्युत्पन्न करा (उदाहरणार्थ प्रत्येक विनिमय ग्राहकाला पाकीट पत्ता देण्यासाठी)
  • क्रिप्टो-गेटवे - बीटीसी, ईटीएच, एडीए प्रक्रिया करण्यासाठी आणि ई-कॉमर्स वेबसाइटमध्ये समाकलित करण्यासाठी सीटीआय क्रिप्टो पेमेंट अनुप्रयोग.
  • क्रिप्टो शॉप - सीटीआय पे एकीकरण प्रात्यक्षिक साइट.

सारांश

आमच्या सार्वजनिक गिटहबने आमच्या कोडची नेहमीच स्वच्छ आणि समजण्यायोग्य आवृत्ती राखली हे सुनिश्चित करतेवेळी सीटीआय विकास कोडींग सर्वोत्तम सरावांचे पालन करते. आम्ही आमच्या विकासासह पुढे जात असताना आम्ही मुक्तता स्त्रोत मार्गदर्शक तत्त्वे आणि सर्वोत्तम पद्धतींचा अवलंब करताना नवीन खाजगी / बग फिक्स आणि रीलीज क्रमांकांकन हाताळण्यासाठी आमचे खाजगी / सार्वजनिक संबंध सुधारण्याचे तसेच व्यवस्थापन सुधारित करणे आणि त्यानुसार अंमलबजावणी करणे सुरू ठेवू. आमच्या कार्यप्रवाह भाग.

सीटीआय संसाधने

वेबसाइट: https://coti.io

टेलीग्राम: https://t.me/COTInetwork

ट्विटर: https://twitter.com/COTInetwork

गीथब: https://github.com/coti-io

डिसकॉर्डः https://discord.me/coti

तांत्रिक श्वेतपत्र: https://coti.io/files/COTI-technical- whitepaper.pdf