मैं निश्चित रूप से एक महान प्रोग्रामर नहीं हूं, लेकिन इस परियोजना को लिखना मुझे बहुत कुछ सिखाया (और मुझे व्यस्त रखा) । मेरा अधिकांश कोड FMZ.COM पर किया गया था, और अगर मैं पायथन कोड को रीफैक्टर करना था तो मैं अधिक ऑब्जेक्ट उन्मुख मॉडल का उपयोग करूंगा। फिर भी, मुझे प्राप्त परिणामों से सुखद आश्चर्य हुआ और बॉट ने अब तक लगभग 100% ईथर लाभ कमाया है।
यह क्या करता है? यह एक मध्यस्थता बॉट है। इसका मतलब है कि यह दो (या अधिक) एक्सचेंजों पर कीमतों के बीच अंतर का व्यापार करने से पैसा कमाता है। अब तक यह एकतरफा है और केवल एथर्डेल्टा और बिट्रेक्स के बीच व्यापार करता हैः वे लगभग बीस एथ / टोकन जोड़े साझा करते हैं। यहां यह कैसे काम करता है यह दिखाने के लिए एक आरेख हैःकोष्ठक के बाद शब्द एथेरियम लेनदेन हैं जो एक स्मार्ट अनुबंध फ़ंक्शन कॉल को बुलाते हैं।
मैं fmz.com प्लेटफॉर्म पायथन संपादक का उपयोग कर सकता था लेनदेन और फ़ंक्शन कॉल बनाने के लिए और यह काफी सीधा होता। मुझे कुछ अधिक विश्वसनीय की आवश्यकता थी; एक असफल लेनदेन का अर्थ है पैसा खोना। मेरे प्रत्येक GET अनुरोधों को एक उत्तर की आवश्यकता थी, भले ही टीसीपी पैकेट खो गया हो या दूसरे छोर पर वेब सर्वर अस्थायी रूप से नीचे था। इसलिए मैंने अपना खुद का पायथन एथर्सकैन एपीआई रैपर लागू करने का फैसला किया और लेनदेन बनाने और उन्हें प्रकाशित करने के लिए एथर्सकैन का उपयोग किया। मैंने अपने स्वयं के अनुरोधों को भी लिखा। डेकोरेटर प्राप्त करें जो एक while लूप है जो केवल एक बार जवाब संतुष्ट होने पर ही बाहर निकलता है।
यहाँ कोड मैं hexadecimal के रूप में एथरडेल्टा json एपीआई प्रतिक्रियाओं को एन्कोड करने के लिए इस्तेमाल किया है, rlp एन्कोड, एथेरियम लेनदेन (कमजोर दिल के लिए नहीं):
नीचे बंद में कच्चे हेक्साडेसिमल मान प्रत्येक फ़ंक्शन के अनुरूप फ़ंक्शन हस्ताक्षर हैं। एक फ़ंक्शन हस्ताक्षर फ़ंक्शन और उसके तर्क के केक्काक से प्राप्त होता है। इसे लेनदेन के डेटा पैरामीटर से जोड़ा जाना चाहिए जिसके बाद डेटा जो तर्क बनाते हैं। कुल मिलाकर मेरा कोड लगभग 400 लाइनों लंबा है और 5 अलग-अलग फ़ाइलों में निहित है।
मैंने pymatplotlib का उपयोग करके लॉग किए गए डेटा से कुछ ग्राफ बनाए।
कुल मिलाकर पूरे परियोजना मुझे स्कूल में मेरे खाली समय के दौरान लगभग दो सप्ताह लग गए और यह चारों ओर एक विस्फोट था. मैं जोरदार कोडिंग से एक ब्रेक लिया है और वर्तमान में नियोजन के लिए प्रक्रिया में कर रहे हैं मध्यस्थता बॉट v2। अगले संस्करण में शामिल करने के लिए जा रहा है 86 विभिन्न एक्सचेंजों और व्यापार जोड़े का एक पूरा बहुत.
चाँद के लिए!