बहुत ही सरल वेब प्रोग्रामिंग प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ ऐतिहासिक और रीयल-टाइम क्रिप्टो डेटा प्राप्त करना। लंबवत खोज। ऐ.

बहुत ही सरल वेब प्रोग्रामिंग के साथ ऐतिहासिक और रीयल-टाइम क्रिप्टो डेटा प्राप्त करना

लुसियानो एब्रिएटा

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

अस्वीकरण: आपको कोई वित्तीय सलाह नहीं मिलेगीcमैं यहां हूं और मैं क्रिप्टोकरेंसी, क्रिप्टोआर्ट, एनएफटी, उनके व्यापार आदि में कोई विशेषज्ञ नहीं हूं। मैं केवल क्रिप्टोकॉम्पेयर.कॉम पर एपीआई कॉल के माध्यम से डेटा प्राप्त करने के लिए मुफ्त HTML+जावास्क्रिप्ट कोड देता हूं; और मैं उस डेटा से प्राप्त कुछ प्लॉट को अपनी कुछ व्यक्तिपरक राय के साथ प्रदर्शित करता हूं।

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

विशेष रूप से, पहली चीज़ जिस पर मैं अपना हाथ रखना चाहता था वह विभिन्न क्रिप्टो और फिएट मुद्राओं के बीच विनिमय दरें थीं। मैंने पाया कि वेबसाइट क्रिप्टो कंपेयर.कॉम एक अच्छी एपीआई प्रदान करती है, जो कम संख्या में कॉल के लिए निःशुल्क है, जो अपने बेस से डेटा तक प्रोग्रामेटिक पहुंच की अनुमति देती है। मुझे ऑनलाइन जावास्क्रिप्ट कोड के विभिन्न टुकड़े भी मिले जिन्हें मैंने दो बहुत ही सरल वेब ऐप्स में एक साथ रखा: एक हर 10 सेकंड में बीटीसी-यूएसडी विनिमय दरों के अपडेट प्राप्त करने के लिए; और दूसरा बिटकॉइन के पूरे इतिहास में हर मिनट, घंटे या दिन में ऐतिहासिक बीटीसी-यूएसडी विनिमय दरों को पुनः प्राप्त करने के लिए। मेरे द्वारा प्रस्तुत कोड को बेझिझक कॉपी करें और इसे अपने लक्ष्यों के अनुसार अनुकूलित करें।

वेब ऐप 1: वास्तविक समय में कोई भी एक्सचेंज प्राप्त करें

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

क्रिप्टोकंपेयर के एपीआई पर इस लिंक की सरल पहुंच आपके कॉल करते ही बिटकॉइन (बीटीसी) की विनिमय दर यूएसडी में लौटा देती है:

https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD

इसी तरह, यह अन्य उदाहरण आपको कॉल के समय EUR में एथेरियम (ETH) की विनिमय दर देता है:

https://min-api.cryptocompare.com/data/price?fsym=ETH&tsyms=EUR

आसान, है ना? ठीक है, इसके आधार पर, निम्नलिखित कोड आपके द्वारा मांगे गए किसी भी रूपांतरण (इस उदाहरण में यूएसडी में बीटीसी) को एक छोटे वेब पेज में हर 10 सेकंड में लौटाता है, जिसे आप अपनी वेबसाइट में अपनी पसंदीदा दरों का पालन करने के लिए निजी बना सकते हैं:

आप इस कोड को .html फ़ाइल में कॉपी-पेस्ट कर सकते हैं और फिर इसे चलते हुए देखने के लिए इसे अपने ब्राउज़र में लोड कर सकते हैं। या यदि आप आलसी महसूस करते हैं, तो बस मेरी साइट पर इस डेमो उदाहरण को खोलें:

https://lucianoabriata.altervista.org/tests/cryptogames/getBTC-realtime.html

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

वेब ऐप 2: ऐतिहासिक डेटा प्राप्त करें

लेकिन क्या होगा यदि आप वेब पेज शुरू होने से पहले डेटा प्राप्त करना चाहते हैं? ठीक है, आप विशेष वेबसाइटों पर जा सकते हैं और ये डेटा डाउनलोड कर सकते हैं; हालाँकि, मैंने पाया कि उपयोग में आसान वेबसाइटें केवल आंशिक डेटा प्रदान करती हैं। उदाहरण के लिए, याहू फाइनेंस पर बीटीसी डेटा 17 सितंबर 2014 को शुरू होता है और इसके रिकॉर्ड मासिक, साप्ताहिक या दैनिक होते हैं, लेकिन प्रति घंटा या प्रति मिनट नहीं कहते हैं। इसके अलावा, यदि आप एक ऐसा सिस्टम विकसित कर रहे हैं जिसे स्वचालित रूप से अपडेट करने की आवश्यकता है, तो मैन्युअल डेटा डाउनलोड चर्चा से बाहर है... आपको प्रोग्रामेटिक एक्सेस की आवश्यकता है।

सौभाग्य से, क्रिप्टो कंपेयर के एपीआई में मिनटों, घंटों या दिनों में ऐतिहासिक डेटा को पुनः प्राप्त करने के तरीके शामिल हैं। न केवल विनिमय दर बल्कि अन्य मीट्रिक जैसे विनिमय मात्रा भी। के बारे में और अधिक जानने के लिए एपीआई इसके दस्तावेज़ देखें और निम्नलिखित पढ़ें.

इस उदाहरण की तरह एक एपीआई कॉल आपको पिछले 20 घंटों का डेटा, घंटे दर घंटे प्राप्त करेगी:

https://min-api.cryptocompare.com/data/v2/histohour?fsym=ETH&tsym=USD&limit=20&toTs=-1&api_key=YOURKEYHERE

आउटपुट JSON प्रारूप में पार्स करने योग्य है। यह इस तरह दिख रहा है:

एपीआई कॉल के लिए यूआरएल में ध्यान देने योग्य बातें (जिसे हम अगली बार फ़ेच() जावास्क्रिप्ट फ़ंक्शन के अंदर उपयोग करेंगे):

  1. toTs=-1 इसका मतलब है कि आप कॉल निष्पादित होने तक का डेटा चाहते हैं।
  2. सीमा वह पंक्तियों की संख्या है जो आप चाहते हैं।
  3. आपको एक API कुंजी प्रदान करनी होगी.

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

आइए मैं आपको यह वेब ऐप दिखाता हूं, जिसकी मदद से आप यूएसडी में किसी भी विनिमय दर के लिए दैनिक ऐतिहासिक डेटा मांग सकते हैं:

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

ध्यान दें कि आपको एपीआई को दो बार कॉल करना होगा: एक बार फ़ंक्शन के अंदर जो निष्पादन के क्षण तक डेटा प्रविष्टियों की एक सूची मांगता है (getBtcData, जब उपयोगकर्ता "नवीनतम डेटा प्राप्त करें" पर क्लिक करता है और स्वचालित रूप से लोड होता है) और दूसरा इसके लिए वह फ़ंक्शन जो किसी निश्चित समय से पहले डेटा लौटाता है (getBtcDataPrevious)। यह भी ध्यान दें कि फ़ंक्शन स्वचालित रूप से से और प्रति समय को अपडेट करते हैं, जो कच्चे सीरियल प्रारूप में प्रदर्शित होते हैं और फ़ंक्शन सीरियलDateToNiceDate द्वारा मानव-पठनीय रूप में भी परिवर्तित होते हैं।

पृष्ठ लोड करने के बाद, या "नवीनतम डेटा प्राप्त करें" पर क्लिक करने के बाद दाईं ओर का टेक्स्ट बॉक्स अंतिम 2000 प्रति घंटा प्रविष्टियों से भर जाता है, और प्रेषक और प्रति समय अपडेट हो जाते हैं। इसके बाद आप "पिछली अवधि प्राप्त करें" पर क्लिक करके पिछली अवधि के डेटा के 2000 लाइन ब्लॉक का अनुरोध कर सकते हैं। आने वाली पंक्तियाँ ऐतिहासिक क्रम को ध्यान में रखते हुए टेक्स्ट बॉक्स में जोड़ दी जाएंगी।

कुछ ऐतिहासिक डेटा देख रहे हैं

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

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

कथानक पांच प्रमुख अप-टाइम दिखाता है: एक 2013 के अंत के आसपास, एक मजबूत 2017 के अंत के आसपास - 2018 की शुरुआत में उसके बाद 2019 में दूसरा, और फिर 2021 की पहली छमाही के दौरान एक मजबूत समय जिसके बाद अभी एक नई तेजी से वृद्धि हो रही है।

यह दिलचस्प है कि उस कथानक में देखी गई अधिकतमता समय के साथ Google रुझानों द्वारा मापी गई रुचि से कैसे मेल खाती है:

हमारे पुनर्प्राप्त बीटीसी: यूएसडी एक्सचेंज डेटा का एक और प्लॉट, जो हमने ऊपर किया था उससे अधिक दिलचस्प, यह वह है जहां कीमत को लॉगरिदमिक (यहां लॉग इन बेस 10) फॉर्म में माना जाता है:

यह लॉग परिवर्तन अप-चरणों को अधिक स्पष्ट रूप से प्रदर्शित करता है। जाँच करें कि आधार से शीर्ष तक सापेक्ष शिखर की ऊँचाई काफी भिन्न है, और धीरे-धीरे कम होती हुई प्रतीत होती है: पहले मुख्य शिखर में परिमाण के लगभग 1.5 ऑर्डर (लगभग 30X) का लाभ होता है; दूसरा, तीसरा और चौथा परिमाण के 1 क्रम (लगभग 10X) के आसपास हैं, और अंतिम केवल परिमाण के 0.5 क्रम (लगभग 3.2X) के आसपास हैं। इस प्रकार ऐतिहासिक अधिकतम सीमा बहुत अधिक होने के बावजूद, बाद में निवेश करने वाले लोगों के लिए भारी मुनाफे की संभावना धीरे-धीरे कम होती जा रही है। हालाँकि बिटकॉइन से समृद्ध होने के लिए अब बहुत देर हो चुकी है, बीटीसी: यूएसडी विनिमय दर में समग्र रुझान से संकेत मिलता है कि यह अभी भी कुछ समय के लिए बढ़ सकता है (आपको यहां खरीदने के लिए नहीं कह रहा हूं, बस कथानक से भोलेपन से अनुमान लगा रहा हूं):

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

निष्कर्ष और चयनित आगे पढ़ना

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

स्रोत: https://towardsdatascience.com/obtaining-historical-and-real-time-crypto-data-with-every-simple-web-programming-7b481f153630?source=rss——-8—————–क्रिप्टोकरेंसी

समय टिकट:

से अधिक मध्यम