MODERATORS
5 stars based on
58 reviews
Building any reasonably sized web app is complex but building a bitcoin app requires an additional layer of code to interface with the blockchain and the expertise to secure it. A peer to peer marketplace includes additional challenges on top of that. The book can come later but for now here is a short developers brain dump for those crazy enough to go down this road. Have a cup of joe ready. This blocknotify bitcoin confirmations for the MVP that has all the functionality that other the marketplaces already have.
All of us have at least 5 years of blocknotify bitcoin confirmations development experience including financial software for the biggest banks in Europe.
This gave us some advantages in that the most common development bad practices were avoided and security was baked into the spine of the product rather than an annoying after thought as with most web apps. Of course initially we planned to complete it in months but as it usually is with software estimations to get realistic estimations you have to multiply it with Tambov constant: Compared to couple of years ago todays 3rd party API providers are more reliable than some older ones out there who may have downtimes and funny bugs.
If you want to move with maximum speed then integrate with 3rd party API providers. The more full nodes running Bitcoin Core the better! Much more than a wrapper it does full database logging and can help track balance integrity. We also documented installing it step by step so even linux newbies can get it going blocknotify bitcoin confirmations even included a security guide.
Give it a shot. This is a lot more work than it may seem because security must be of primary focus and is blocknotify bitcoin confirmations foundation of blocknotify bitcoin confirmations application. Make sure you are familiar with SQL transaction isolation levels to avoid hackers trying to race condition you on withdrawals. Of course there are more solutions to avoid race conditions like queueing withdrawals or using synchronized methods if your technology stack blocknotify bitcoin confirmations that.
Also have very strict validation rules and blocknotify bitcoin confirmations constraints. That means you are basically generating a private key that will let you spend from that bitcoin address and also you can derive a public key from private key.
In case of a 3rd party API they can generate private key and bitcoin address for you so you would need to store them securely or at least encrypt them in the database. Bitcoin Core will handle pool of private keys for you. By using our simple API server, we are saving generated bitcoin addresses in a database which allows for faster lookup and match them blocknotify bitcoin confirmations users.
You are just listening on blockchain blocknotify bitcoin confirmations there is an unconfirmed transaction coming to that blocknotify bitcoin confirmations. After blocknotify bitcoin confirmations web app got hit blocknotify bitcoin confirmations new incoming payment do your business logic for wallet. That feeling of accomplishment is great when you actually got your first blocknotify bitcoin confirmations Some exchanges require 6 confirmations, some require 3.
We blocknotify bitcoin confirmations 3 as well. How do you know if a transaction received 1 confirmation or 2 confirmations and so on? In a 3rd blocknotify bitcoin confirmations providers case once you set up the web hook you can set on how many confirmations the notification will shoot. That is well documented in our API server. As for schema design you would probably keep unconfirmed transactions in one table and then move all confirmed transactions to a cleared transactions table.
Here is a risk for a race condition. To avoid it your callback URL defined method should be executed synchronously, for example in a queue. Now you are ready to send out payments.
Send out functionality is rather different when using 3rd party providers and Bitcoin Core. Each 3rd party has their own approach to send out funds. Be sure to use transactions and an ACID compliant relational database. Markets connect buyers and sellers and offers are the central objects that let them discover each other. Set blocknotify bitcoin confirmations rules here. These decisions will affect everything and can dynamically change the marketplace culture and economy.
When users decide to accept an offer and begin a trade they are essentially in a live instant messaging session that has a process flow. With every point reached there are different rules and logic. For all these mentioned trade actions the business logic has to be extremely well thought through and code written well with all edge cases taken into account. Otherwise you can end up with adding balance twice, deleting accidentally records or simply break database schema.
This process cost us quite blocknotify bitcoin confirmations few hairs on our heads. This blocknotify bitcoin confirmations a lot deeper than it may blocknotify bitcoin confirmations and depends how fancy you want to get. Consider also that you need moderator messages in case of dispute and anything else you see there. Media is an integral part of the trade process. Sellers want ID, receipts pictures and sometimes even a live video feed.
Building these is tough but securing them doubles the complexity. We suggest going with the leading third parties here to avoid keeping any such media blocknotify bitcoin confirmations your blocknotify bitcoin confirmations.
This is another critical part to keep your platform fair, safe and scammer free. What decisions shall you make? Leave feedback for every trade or per trade partner? Our approach is to leave feedback to every trade and a reply can be left too.
We listened to our traders and built the feedback system for them. That is what your users would require from you. Some of the power sellers will be doing alot of trades and need to report their profits, trades to their government and tax authorities.
Make data generation and exporting very convinient for them. For historical data users want to see their blocknotify bitcoin confirmations trades, activity ledger, transactions ledger, generated bitcoin addresses and any other historical data there might be. This is a huge project in and of itself. A whole startup could be built helping pro traders track profits. Because you are probably in custody of users funds you surely want to know at any moment how much bitcoin is kept in your system and what is total bitcoin balance, users balances in database, active trades, history and anything you can think of and you want to see it in real time.
This is another deep topic and worthy of a long guide. Important components here blocknotify bitcoin confirmations Confirm incoming transactions How do you know if a transaction received 1 confirmation or 2 confirmations and so on? Send out bitcoins Now you are ready to send out payments.
Will you allow users blocknotify bitcoin confirmations dynamically create new payment methods? Drop down or Stackoverflow tagging system approach? The trading part When users decide to accept an offer and begin a trade they are essentially in a live instant messaging session that has a process flow.
Start trade Mark trade as paid Complete trade Auto-cancel trade Cancel trade by user Dispute trade Leave feedback For all these mentioned trade actions the business logic has to be extremely well thought through and code written well with all edge cases taken into account.
Trade live chat This is a lot deeper than it may seem and depends how fancy you want to get. File Upload and video Media is an integral part of the trade process. Feedback system Blocknotify bitcoin confirmations is another critical part to keep your platform fair, safe and scammer free. Backend admin for website health.