所謂從0開始就是從虛無開始,軟體系統一定也是從0開始的。0可以稱作void、virtual什麼的,void已經被程式語言占用了,那麼我們用virtual吧。
樹是乙個奇妙的結構,只要你願意你所掌握的一切知識都是樹形,你未掌握的知識也是樹形。不做多說,開源礦工系統在空間結構上和行為結構上都要有root(根)概念。開源礦工有根,構建開源礦工的程式語言有根,開源礦工所生存的執行時環境也有根,下層的事物我們不做追究,開源礦工作為生存在作業系統時空中的乙個小小的應用系統來說只感知自己所需要感知的環境即可。
你望文生義出來的意思就是本真的意思,凡是不能望文生義的或者望文生義出的意思和聯想不一致的語言文字載體都已經被前人丟棄或者遲早被後人丟棄。我們不使用不能望文生義的詞彙。
從源**的virtualroot型別開始。望文生義,這是虛無,這是根。這是第乙個出現的東西,它處在開源礦工的最底層,所有上層建築都建立在它之上。它下面肯定也有東西,但那是程式語言和執行環境的世界,我們的世界從virtualroot開始。
virtualroot是個靜態型別,它不是被我們構建而生的,有世界的時候它就已經在那裡了,它是從0開始的0,它是整個世界的根。virtualroot根上掛載的事物也全都是靜態的在世界開始的時候就已經在那裡的事物,直接掛載在virtualroot上的事物有:
jsonserializer
它是粉碎機,它是重建器,它安裝在系統的出入口處,開源礦工內部的物體流出系統前會被它打碎成下層系統的物體,下層原子世界不需要我們關注;外部系統的事物在進入我們的系統後首先會被它重建成我們的世界裡事物的樣子。我們的系統只有乙個入口和乙個出口,這唯一的出入口就是virtualroot,是根。
messagedispatcher
推進器、動力源,或者其它什麼名字,照此理解就可以了,開源礦工系統內部運動的動力之源就是它,至於它的動力又是來自cpu這種下層世界的事物又超出我們的世界之外去了。
commandbus
命令電車,它由messagedispatcher驅動,messagedispatcher不是裝在它裡面的引擎,messagedispatcher是電。它運載命令,命令是一種訊息,訊息是一種空間結構體。
eventbus
事件電車,它由messagedispatcher驅動,messagedispatcher不是裝在它裡面的引擎,messagedispatcher是電。它運載事件,事件是一種訊息,訊息是一種空間結構體。
上面知道virtualroot上掛在的commandbus和eventbus分別是運載命令和事件的,而命令和事件是兩種不同型別的訊息。訊息是什麼?訊息是訊息的收發方所協定的承載資訊的空間結構體,空間結構體是什麼?就是一段樹枝,樹枝的枝杈相對位置和長短編碼了能被收發方所理解的資訊。
事情發生前的訊息。
事情發生後的訊息。
路徑,訊息所運動的路徑。
開源礦工README
點選加入 ntminer官方qq群 863725136 開源礦工內建的所有核心均為原版,開源礦工永遠不會額外增加礦工支出 開源礦工永遠開源 開源礦工永遠不會去破解國人開發的核心 整個區塊鏈行業都是開源開放的,所以我認為挖礦軟體必須開源,但做了幾年礦工見證的乙個個曇花一現的礦工軟體卻沒有乙個是開源的。...
開源礦工2 外屬性和內屬性
這個系列每一篇都很短,主要用於將開源礦工架構和源 中的每乙個值得說明的概念都描述出來,因為開源礦工的源 上的注釋實在太少,不是因為刻意不新增注釋而是因為它的源 組織結構和執行時景象和大部分程式設計師平時所掌握的不太匹配,新增的注釋會讓人不知所云。所以決定先有這個系列,先熟悉一下抽象的大致輪廓再去接觸...
開源礦工2 外屬性和內屬性
這個系列每一篇都很短,主要用於將開源礦工架構和源 中的每乙個值得說明的概念都描述出來,因為開源礦工的源 上的注釋實在太少,不是因為刻意不新增注釋而是因為它的源 組織結構和執行時景象和大部分程式設計師平時所掌握的不太匹配,新增的注釋會讓人不知所云。所以決定先有這個系列,先熟悉一下抽象的大致輪廓再去接觸...