Bitcoin-Core

加密貨幣交易所技術架構?如何建造它?(開發者觀點)

  • March 5, 2018

我是一名軟體開發人員,新近涉足區塊鏈技術。

我需要有關 Cryptocurrency Exchange 在技術上如何運作的資訊? 即使用 BTC 購買 ETH 或將任何硬幣與另一枚硬幣交換等

我知道交換所需的所有其他條款/事物,例如法律、安全、KYC、點對點等。

我搜尋了很多文章,但沒有找到任何技術架構。發現以下

有現成的 API,如block.io、chain.com、blockcypher.com等提供這樣的東西。但想從核心 ie bitcoind Github開發它。

  • 我對區塊鏈、Solidity 等有很好的概念知識。
  • 與 Bitcoin Core 一起創建新地址,將 BTC 發送到另一個地址(在 CMD 提示符下)。
  • 能夠實現塊資源管理器等。
  • 能夠使用 ETH 編譯器在 Solidity 中創建新的硬幣/貨幣。

我真正需要的是方向和路徑。 由於技術是新的,資源很少。我非常感謝任何技術幫助。

謝謝你,祝你有美好的一天。

有一個用 ruby​​ 編寫的名為Peatio的開源資產交換。您可以查看其原始碼,以了解資產在其生命週期內會發生什麼。

兌換主要有3個步驟:

  1. 存款 - 將真實硬幣存入交易所的賬戶
  2. 交換 - 通過更改帳戶餘額的值來更改硬幣
  3. 取款 - 從交易所的賬戶向最終使用者發送真實的硬幣

當使用者發送存款請求時,exchange 生成新地址(向 btc 節點發送 rpc 請求),並將其分配給 db 中的存款實體。使用者必鬚髮送足夠數量的 btc 才能完成存款。當特殊的守護程序觀察者發現傳入交易到分配給某個存款實體的地址時,它將傳入金額與所需金額進行比較並等待確認。如果有足夠的 btcs 和確認 - 守護程序會增加使用者帳戶餘額的數量。

然後,在使用者交換過程中,交換引擎只是更改數據庫中的數字,因此不提供真實的交易。這允許非常快速且無網路費用的交換。

當使用者決定從賬戶中花費比特幣時,他會向交易所發送提款請求。交易所檢查使用者的餘額,如果有足夠的硬幣,將它們從其錢包發送到使用者的地址並減少使用者的餘額

在這樣的系統中,主伺服器的安全性至關重要。所有硬幣都儲存在系統的錢包中,可以由它使用。所以冷錢包通常用於此類交易所。所有硬幣總量的近 90% 被發送到某個安全錢包:硬體錢包或至少是錢包,它儲存在沒有網際網路連接的系統上。當熱錢包上沒有足夠的硬幣來創建提款時,會向管理員發送警報,他會手動將一些硬幣從冷錢包發送到熱錢包。

如果您不想允許交易,而只想交換,您可以刪除交換步驟,並在存款完成後創建提款。但是你必須確定該貨幣對的價格。

這不是資產交換的唯一方法。也有當使用者在交易所控制他們的錢包時的方法,當改變使用者餘額的決定由多個節點共同做出時的方法。

引用自:https://bitcoin.stackexchange.com/questions/71773