okchain原始碼閱讀1 巨集觀框架

2021-10-05 23:29:16 字數 1223 閱讀 2076

okchain作為okex的公鏈專案,功能面向交易所交易撮合。

**實現上,基於cosmos和tendermint兩個框架來實現。

這裡記錄一下他的實現的大概框架。

公鏈專案鏈結是

staking 投票質押邏輯

distribution

slashing 非法投票懲罰 ( 感覺這個會是審計重點

order

token

dex

狀態改變

bonded -> unbonding -> unbonded

就是撤銷投票

就是抵押

252個塊一輪,21個va輪流出塊。

每輪結束 重新選舉21個va。

share得票按數量排序,選前21個。其他為cva。

每年增發1%

沒3秒乙個塊,一年有10512000個塊。

每個塊的獎勵1/4給va,3/4給投票給va的va和cva們。

每個塊上鏈時立刻結算,會存放到獎金池中,需要節點自己手動領取。

dex運營方髮型數字資產交易對,手續費20000okt。

dex運營方下架數字資產交易對,手續費0.0125okt。

dex運營方抵押任意數量okt,優先撮合撮合金高的幣對交易,手續費歸dex運營方

預先鎖定259200個區塊高度所使用的手續費(單位okt),餘額不足下單失敗,預設0.25920okt。當訂單被撮合或者過期時,將手續費分給bp節點們。

多餘的手續費會返還。

每個va都維護了state變數,來描述va的合法性。是正常執行、崩潰、還是非法執行等。

va建立之後會進入unbonded狀態。被區塊確認許可權之後,進入bonded狀態。

share 和msd都為0,就會被剔除va set。

也就是沒人選它,把投給他的token都贖回。而且他自己也贖回了msd

unbonding週期結束後,如果 share == 0 and msd == 0,就直接kicked off

無需等待unbonding週期結束,過程中如果share票數極高,排名在全網前21名內,直接進入bonded狀態。

節點非法行為的處罰機制

OpenCV原始碼閱讀 1

開始從讀取檔案的函式說起,這裡主要有兩個函式用於讀取影象的 實際上,當我們在做數字影象處理系統的時候,主要要考慮的也是怎麼讀乙個進來。第乙個函式 cvloadimage主要是用於返回乙個iplimage 的資料結構。第二個函式 cvloadimagem主要是用於返回乙個cvmat 的資料結構。實際上...

Spring 原始碼閱讀(1)

這週在學習spring的原始碼,常常迷失在 森林中,因為英語水平不高,常常需要借助google翻譯幫忙解釋注釋,所以速度比較慢。下面是我模擬spring的解析xml,依賴注入的過程,比較簡略。node node nodes.item i if node instanceof element claz...

spring原始碼閱讀(1)

spring核心是ioc和aop,aop的底層是 實現。分為兩種 jdk動態 和cglib 區別 動態 被 物件是要實現乙個介面,類首先要拿到這個介面,來進行強制轉換,通過反射來生成 物件 public class meipo implements invocationhandler overrid...