Saat mengembangkan dompet kripto, Anda akan menemui sejumlah masalah yang tidak terlihat jelas. Sekarang kami tidak akan mempertimbangkan masalah yang terkait dengan pembuatan alamat, penandatanganan transaksi, dan masalah lain yang mungkin terlintas dalam pikiran terlebih dahulu.
Mari kita fokus pada tugas yang sederhana dan sepele pada pandangan pertama - mendapatkan daftar transaksi yang terkait dengan alamat tertentu. Pada pandangan pertama, permintaan sederhana ini seharusnya tidak menimbulkan pertanyaan apa pun - lagipula, blockchain berisi database transaksi yang besar, bukan?
Tidak juga. Jika Bitcoin dan penerusnya (Litecoin, DASH, Docgecoin, dll) memang, menurut definisinya, merupakan buku besar transaksi, maka Ethereum dan turunannya sudah menjadi buku besar saldo, meskipun mereka juga harus menyimpan transaksi, setidaknya secara teori.
Tetapi yang menarik adalah bahkan untuk alamat Bitcoin Anda tidak akan bisa mendapatkan daftar lengkap transaksi yang terkait dengan alamat tertentu menggunakan cara standar, hanya inputnya (diterima oleh alamat transaksi). Dengan Ethereum segalanya menjadi lebih menarik. Geth (go-ethereum) tidak mengizinkan sarana reguler untuk menerima transaksi sama sekali. Jika Anda mengetahui hash transaksinya - tidak masalah, jika tidak - maka yang dapat Anda ketahui tentang alamat di blockchain hanyalah saldonya.
Tentu saja, ini tidak akan menjadi masalah besar jika semua alamat dibuat oleh aplikasi Anda, dan backend Anda sudah memantau status mempool dan memindai semua blok baru untuk transaksi yang diperlukan - Anda mungkin akan mencatat semua transaksi dengan cermat, memasukkannya ke dalam database, dan memiliki akses ke transaksi tersebut kapan saja. Dalam kasus Etherem dan blockchain lain yang mekanisme tokennya diterapkan mirip dengan standar ERC20, Anda juga akan menerima semua transaksi yang terkait dengan panggilan kontrak pintar (misalnya, mengirim atau menerima token ERC20). Namun, hampir semua aplikasi dompet bagus memungkinkan Anda mengimpor kunci dan mengakses alamat yang dibuat di program lain. Ya, Anda dapat menggunakan pendekatan yang diambil oleh pembuat Exodus - cukup “sapu” semua dana dari alamat yang diimpor ke alamat yang ditentukan dalam aplikasi, lalu anggap masalahnya sudah selesai.
Tetapi bagaimana cara kerja Metamask yang populer? Bagaimana cara menampilkan semua transaksi bahkan untuk alamat yang diimpor?
Sebenarnya mereka tidak menggunakan sihir khusus apa pun. Untuk bereksperimen, coba tambahkan jaringan baru ke MetaMask, dan pelajari dengan cermat kolom yang perlu diisi.. Di antara data yang jelas, seperti URL titik akses, ID jaringan, nama jaringan, dan simbol mata uang, Anda akan diminta untuk mengisi kolom opsional - tunjukkan tautan ke blockexplorer. Semua informasi diperoleh melalui API dari layanan seperti infura.io dan alchemy.com. Untuk Bitcoin, fungsi serupa disediakan oleh blockhain.com/blockhain.info; sejumlah besar jaringan dicakup oleh layanan blockchair.
Ternyata untuk memberikan informasi kepada aplikasi kita, cukup terhubung ke beberapa penyedia tersebut dan semuanya ada di tas? Di satu sisi, ya. Namun, solusi seperti itu tidak selalu tanpa kelemahan, dan terkadang kelemahan ini bisa menjadi sangat penting. Mari kita bahas hal-hal yang paling jelas saja.
Pertama, Anda dapat segera melupakan segala kerahasiaan pengoperasian. Sebuah perusahaan besar akan memiliki akses ke semua data semua klien Anda dan tidak diketahui untuk tujuan apa perusahaan tersebut akan menggunakan data ini. Akan lebih baik jika itu hanya kumpulan data besar yang tidak berbahaya untuk analisis pasar dan memperoleh informasi orang dalam saat berdagang. Namun di masa depan, data tersebut mungkin menjadi milik, bisa dikatakan, bukan milik orang yang sepenuhnya bersih. Ngomong-ngomong, baru-baru ini Alchemy mengumumkan akan mendaftarkan IP tempat transaksi dilakukan. Jika mereka secara resmi mengumumkan bahwa mereka akan mengumpulkan data lokasi bahkan bukan dari klien mereka, tetapi dari klien dari semua layanan yang menggunakan API mereka, maka kita dapat berasumsi bahwa mereka sudah aktif melakukan hal ini.
Aspek kedua yang tak kalah problematisnya ke depan adalah ketergantungan terhadap layanan orang lain tidak bisa menjamin syarat layanan tidak berubah. Misalnya, suatu layanan akan memutuskan untuk memperkenalkan biaya berlangganan untuk API - dan pembuat aplikasi apa pun, bahkan yang gratis, akan dipaksa untuk memikirkan apa yang harus dilakukan. Abaikan aplikasinya? Jadikan itu berbayar? Namun izinkan saya mengingatkan Anda bahwa dompet kripto adalah tempat penyimpanan mata uang kripto, dan pengguna aplikasi semacam itu mungkin tiba-tiba kehilangan akses ke tabungan mereka. Dan jumlahnya bisa sangat besar.
Daftar ini dapat dilanjutkan untuk waktu yang lama, namun hanya ada satu kesimpulan - dalam banyak kasus, jauh lebih rasional untuk menyediakan backend Anda sendiri dan menerapkan infrastruktur Anda sendiri yang memungkinkan Anda mengakses data yang diperlukan.
Apa yang diperlukan untuk ini dan bagaimana menerapkannya - kita akan melihatnya di artikel berikutnya
Baca juga
Berapa penghasilan investor pemula dari perdagangan? Bagian 27. Perdagangan (lanjutan)
Kami melanjutkan serangkaian publikasi tentang perdagangan untuk memahami dalam praktiknya berapa banyak yang dapat diperoleh investor pemula hanya dengan menggunakan perkiraan yang dipublikasikan di situs web kami. Untuk memahami betapa bermanfaatnya mereka, kami memutuskan untuk melakukan percobaan dan mensimulasikan situasi di mana seseorang yang hanya tahu tentang perdagangan bahwa ia perlu “membeli lebih murah dan menjual lebih mahal” mencoba mendapatkan penghasilan tambahan d...
Berapa penghasilan investor pemula dari perdagangan? Bagian 23. Perdagangan (lanjutan)
Kami melanjutkan serangkaian publikasi tentang perdagangan untuk memahami dalam praktiknya berapa banyak yang dapat diperoleh investor pemula hanya dengan menggunakan perkiraan yang dipublikasikan di situs web kami. Untuk memahami betapa bermanfaatnya mereka, kami memutuskan untuk melakukan percobaan dan mensimulasikan situasi di mana seseorang yang hanya tahu tentang perdagangan bahwa ia perlu “membeli lebih murah dan menjual lebih mahal” mencoba mendapatkan penghasilan tambahan d...
