[STEEM BOUNTY] CoinGecko: Koneksi API WebSocket Publik untuk Bursa.
Halo semua teman steemit.malam ini saya akan membuat terjemahan postingan dari @utopian-tasks.
Utopian untuk CoinGecko:
Utopian.io menjalankan permintaan tugas ini atas nama CoinGecko.com
[Source](file:///storage/emulated/0/Download/utopian%20coingecko%20collab.png)
GitHub Repository
https://github.com/coingecko/cryptoexchange
Latar Belakang Proyek
Cryptoexchange adalah rubygem bagi pengembang Ruby untuk berinteraksi dengan lebih dari 240+ cryptocurrency exchange market data APIs dalam satu perpustakaan tunggal. Rubygem ini digunakan untuk daya CoinGecko.Tersedia sebagai sumber terbuka di bawah syarat-syarat Lisensi MIT.
Spesifikasi Tugas
Untuk API HTTP yang ada, rubygem ini telah membuat abstraksi yang cukup bagus yang memungkinkan pengembang dengan mudah menyumbangkan pertukaran baru.
Fitur API websocket, bagaimanapun, adalah tambahan baru untuk rubygem ini. Dengan demikian, kami masih mencari tahu abstraksi / struktur terbaik.
**Permintaan tarik gabungan ini **https://github.com/coingecko/cryptoexchange/pull/1008 berisi bukti-konsep awal, yang mendukung penyambungan dengan ticker Bitfinex, buku pesanan, dan API websocket perdagangan.
Tujuan kandidat adalah sebagai berikut:
- Sarankan cara untuk memperbaiki desain koneksi websitem rubygem. (Lihat * catatan di bawah)
- Sarankan cara untuk menetapkan / menguji koneksi API websocket eksternal. (Lihat * catatan di bawah)
- Terapkan koneksi API websocket publik untuk Binance
- Menerapkan sambungan API websocket publik untuk Poloniex
- Menerapkan sambungan API websocket publik untuk Coinbase Pro
Catatan
API websocket Bitfinex mengharuskan kita untuk hanya membuat SATU sambungan untuk SATU pasangan perdagangan. Misalnya, satu koneksi websocket BTC / USDT, untuk mendapatkan data stream yang sesuai dengan itu. Dengan demikian, struktur yang ada di tempat untuk Bitfinex memanfaatkan pada Thread untuk menangani beberapa aliran.
Mungkin ada kasus di mana beberapa API websocket hanya memerlukan SATU sambungan untuk pasangan perdagangan GANDA. Anda mungkin perlu memperkenalkan abstraksi tambahan untuk menangani situasi ini.
Implementasi API HTTP rubygem ini menggunakan VCR untuk mengejek tanggapan API untuk memastikan kita dapat menjalankan uji integrasi end-to-end.VCR tampaknya tidak berfungsi dengan websocket. Kami sedang mempertimbangkan secara manual mengejek tanggapan websocket tetapi ini bisa berubah menjadi unscalable ketika respon berubah.
Jangan ragu untuk menyarankan cara-cara merampingkan abstraksi ini.
Bagaimana cara memulai?
1.Arahkan ke repositori di Github https://github.com/coingecko/cryptoexchange
2.Pastikan untuk memeriksa README pada penggunaannyauntuk membiasakan diri dengan permata dan memberikan panduan
3.https://github.com/coingecko/cryptoexchange/wiki/Implementing-a-New-Exchange- (Websocket-API) kemungkinan akan berguna bagi Anda untuk memulai.
4.Ketika Anda mulai bekerja, kami sarankan membuat Permintaan Tarik dengan judul WIP sehingga kami dapat memulai diskusi di sana.
Tenggat waktu
2 minggu. Diatur untuk memulai pada pemilihan kandidat.
Komunikasi
Silakan daftar minat Anda di https://discord.gg/pKGV9sp , server Discord resmi CoinGecko dalam saluran "utopian-io".
Anda dapat menghubungi kami langsung untuk informasi lebih lanjut melalui email di [email protected] atau di pusat diskusi pengembang Discord kami.
Github
Informasi Hadiah
Hadiah yang dihasilkan oleh permintaan tugas ini akan dikirim sebagai STEEM cair ke pemecah tugas setelah tugas selesai, seperti yang diputuskan oleh pemilik proyek.
Tugas akan dianggap dianggap selesai setelah digabungkan oleh tim pengembangan CoinGecko dan ketika solver mempublikasikan posting Steemit, menjelaskan apa yang mereka lakukan untuk menyelesaikan tugas.
By: @herli1
Hi @herli1, it's cool that you are translating one of Utopian's task requests, however it can't be considered a Utopian contribution in and of itself.
Fabulous job mate