Bitcoin Forum
May 12, 2024, 03:39:24 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Development & Technical Discussion / Re: Design behind cryptocurrency exchanges' payment processing on: May 28, 2019, 04:03:48 AM
So what's is my core was offline for a bit? It would have to download many blocks in a very short period of time, which would make my cron job to skip many blocks as a result.
2  Bitcoin / Development & Technical Discussion / Re: Design behind cryptocurrency exchanges' payment processing on: May 26, 2019, 05:46:15 PM
What's the notification system that has to be in place for this? How do I make sure I go through every single block, 6 below the tip. Do I need some kind of record to keep track of the blocks that I've processed?

Also, what if I want my users to know that their transaction is seen by my system all the way from mempool to 6 confirmations? Should I be catching transactions in any way?
Maybe walletnotify or zmq?

Having a withdraw only core means to have a core with a few addresses that I can top up at any time and simply use sendtoaddress rpc? How can I possibly improve the privacy of this? Any way to make withdrawal transactions more anonymous for customer's security?

Are there any rules of thumb when working with walletnotify and blocknotify? Having an express instance running to process curls from it feels reeeeally awkward...

Any recommendations on how to control the bitcoin core? Should there be more than one core running simultaneously? Should there be a program that bitcoind can be run behind? Any research or guides on this topic?
3  Bitcoin / Development & Technical Discussion / Re: Design behind cryptocurrency exchanges' payment processing on: May 20, 2019, 08:59:48 AM
Well, just looked at my NEO GAS deposit address on Binance. I've sent some money to it a year ago and you are right, they indeed send it to their cold storage 2 months later. My main concern and the main reason why I've created this post is that building something like this with the official bitcoin core felt really awkward. It feels like bitcoin core is more of a tool for a single person to use. It's possible to write a wrapper around bitcoin core, that would make sure bitcoin core always alive and that would be processing all the transactions that bitcoin core cathes and store them. I just have no idea about how it's done in reality with all these big exchanges. There will always be differences between node software for different coins, does that mean that big exchanges run all of them behind different wrappers? That seems a bit absurd. Do they write a separate software that easily adapts and scales for many coins or do they actually have hundreds of official nodes and wrappers around them? I really want to meet a person here who ever had experience with building these systems in production.
4  Bitcoin / Development & Technical Discussion / Design behind cryptocurrency exchanges' payment processing on: May 19, 2019, 03:01:27 PM
I'm working on a small project for a while now and I still can't get my head around this topic. In my project users would have an internal balance for bitcoin and some other altcoins. They would be given a unique deposit address during registration and they would be able to deposit any amount of currency at any given moment, which would appear in their internal balance after 6 confirmations. They would also be able to enter their own address and withdraw funds. The same kind of system every cryptocurrency exchange has in place. I genuinely can not find any info on the internet on how to implement these systems, every single payment processor is invoice based.

It's pretty possible to implement something like this by yourself with the official Bitcoin Core and Full Node Softwares for bitcoin's clones, like litecoin and dogecoin. There has to be a mechanism in place that would be catching transactions on the network. However, I'm concerned about bitcoin core's walletnotify. I was told it creates a lot of memory problems for the machine. ZMQ, on the other hand, catches all the transactions, even the irrelevant ones.

So how do all of these cryptocurrency exchanges operate? Do they simply write these wrappers around the node software that collects needed data and saves in the database? Some of them have hundreds of coins! Do they have an instance of every coin running on their servers and separate software around these instances? Is there a common name for such payment processing? Is there any more information that I can look at?
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!