Posts

Showing posts from 2021

What is the Peatio cryptocurrency exchange or trading plateform?

  Cryptocurrency Exchange A cryptocurrency is nothing but a digital currency. Cryptocurrency exchanges are the platforms where you can buy, sell or exchange cryptocurrencies with other digital currency or with other assets such as fiat money. Fiat currency is like paper money for example Rupees, Dollars whose value is decided by the government. To start with the cryptocurrency exchange, you have to create an account in a cryptocurrency exchange. The exchange will then verify your account. When you want to buy the cryptocurrency, check the asks and when you want to sell the cryptocurrency, check the bids. The ask represents the lowest price sell order that is currently available in the market or the lowest price that someone is willing to go short. The bids represent the highest price buy order that is currently available in the market. Peatio Cryptocurrency Exchange Peatio is an open-source cryptocurrency exchange developed in Ruby On Rails framework. You can easily use the Peatio cryp

Transition Block in Rails with_lock

What is with_lock? how it work Ans:  If two users read a value from a record and then update it simultaneously, one of the values has to “win” and data integrity will be compromised. This is dangerous especially when dealing with money or inventory stocks. For example: User has a card balance = 10 User opens browser A and fill out 5 USD to buy User opens browser B and fill out 10 USD to buy User hits “Buy” button of both browsers at the same time Request A reads card balance=10 Request B reads card balance=10 Request A updates balance -= 5 (balance now is 10-5=5) Request B still has the instance card balance=10 (even though request A already decremented it) Request B updates balance -= 10 (balance now is 10-10=0) Final balance is now 0 User was able to purchase 15 USD when the initial balance was only 10 USD. This is race condition potentially at its worst case! Rails doesn’t do locking when loading a row from the database by default. If the same row of data from a table is loaded by t