作者:牛頓區塊
區塊連技術開發工程師,Avatar NFT自動化程序猿,Crypto投資者
在如何合法查看加密貨幣交易?(上)談到第三方服務商及提到全節點,接著我們了解一下全節點的架構。
時間是個梗:全節點架構
對於全節點的實現,我們需要一台強勁的服務器配備SSD儲存(必須有900GB以上),或者雲主機。通過安裝Parity程序構建全節點,隨後建立好防火墻有效保護節點。在全節點上同步所有區塊後,我們進入應用平台架構,技術選型為Python Django整個應用服務封裝在容器中(Dockor)。
重要的事問三次:數據建模及交易請求
首先需要思考如何在SQL數據庫(Django)中組織數據,我們通過深入解構以太坊交易的數據結構。以太坊有兩種交易,一種是非合約賬戶(smart contract)間的交易,另一種是合約賬戶參與交易。合約地址參與的交易Log中包含ERC20 token通證交易記錄。
當加密貨幣錢包查詢交易時,他需要發起三次請求:
(1)獲取以太坊交易數據
(2)獲取ERC20交易數據
(3)獲取合約內部交易數據
因此要全面解析一次交易,我們需要查看這三種數據,來明白哪些數據或者狀態發生改變。基於此,我們決定建立如下數據模型(Django models)
用關系型SQL數據庫的另一個原因是:篩選查找歷史交易和交易記錄呈現的格式接近于傳統銀行的交易記錄,因此方便理解。
Python 編程來下載數據
我們通過編寫python程序來下載以太坊賬本數據
(1)獲取區塊和區塊中所有交易
(2)將每個交易解析並存儲在數據庫中
(3)處理交易Log中的operations並在數據庫中創建對象
(4)爬取下一個區塊並重複2和3
程序代碼不超過300行,完成了fetching, processing, storing 和 extracting operations等動作。下載完整的分布式賬本,並轉換成傳統的數據格式需要的存儲空間是2.5TB,PostgreSQL依然能夠應對自如。因此建議這台賬本服務器的存儲空間應該控制在10TB的量級上。
Blockchain 的未來展望
隨著總統令的頒布,大型投資者,機構和社群都必須向合規和稅務等政府部門報告,例如SEC,IRS和HMRC。Blockchain explorer這類軟件服務將承擔起加密貨幣合規和稅務報告的技術橋樑,使監管機構能夠以傳統金融的技術手段監管加密世界。Blockchain 技術是否正在掀起第三次 accounting revolution,我們拭目以待。
|