模塊化平臺(tái)Stratis在區(qū)塊鏈中的作用
模塊化是指一個(gè)系統(tǒng)能夠分解成可以分離和重新組合的組件。最好的軟件開發(fā)工具通常是高度模塊化的,允許重用“程序集”或“模塊”。這一原則是Java、c#和Go等開發(fā)框架的核心。
模塊化促進(jìn)了創(chuàng)新。當(dāng)創(chuàng)建一個(gè)新的web應(yīng)用程序時(shí),大部分運(yùn)行的代碼實(shí)際上都在外部開發(fā)的包中;無論它們是數(shù)據(jù)庫連接、頁面呈現(xiàn)引擎、輸入驗(yàn)證器等等,開發(fā)人員都可以非常容易地構(gòu)建一個(gè)新網(wǎng)站概念的原型。
加密貨幣
然而,如果你去看看最珍貴的加密貨幣代碼庫——比特幣核心存儲(chǔ)庫,你會(huì)發(fā)現(xiàn)它非常不靈活。非模塊化代碼通常以長文件為特征,類的單個(gè)實(shí)現(xiàn)通常依賴于其他的具體實(shí)現(xiàn)。以比特幣核心驗(yàn)證為例并不是說只有比特幣存在這種情況。大多數(shù)區(qū)塊鏈節(jié)點(diǎn)存儲(chǔ)庫,如Go Ethereum也完全沒有考慮到靈活性。
現(xiàn)在需要注意的是,在比特幣的例子中,模塊化不是優(yōu)先考慮的。如果您相信您正在構(gòu)建未來的單一“貨幣”,那么為什么要讓其他人更容易地使用您的代碼進(jìn)行構(gòu)建呢?比特幣核心是高度集成的,但它經(jīng)受住了時(shí)間的考驗(yàn),并且行之有效。這不是對(duì)比特幣核心代碼庫的批評(píng)。
嘗試使用區(qū)塊鏈
隨著區(qū)塊鏈被引用為所有問題的答案,許多項(xiàng)目開始嘗試不同的節(jié)點(diǎn)實(shí)現(xiàn)。特別是在敏感數(shù)據(jù)和私有鏈,或者在外部數(shù)據(jù)是鏈操作的核心的情況下,項(xiàng)目發(fā)現(xiàn)基于智能合約的方法不允許它們具有足夠的靈活性。不幸的是,直到最近,為了創(chuàng)新,開發(fā)商正在剝離像比特幣這樣的集成節(jié)點(diǎn),或者從零開始創(chuàng)建新的節(jié)點(diǎn)。
這兩種方法都很痛苦、耗時(shí),而且容易出錯(cuò)(不安全)。
當(dāng)一個(gè)擁有全新功能的區(qū)塊鏈網(wǎng)絡(luò)可以像這樣快速轉(zhuǎn)移時(shí),這個(gè)領(lǐng)域?qū)⒄嬲睒s起來。
Stratis——一個(gè)模塊化平臺(tái)
對(duì)我來說,最令人興奮的事情是,我們正在考慮以完全不同的方式建立區(qū)塊鏈。不同的共識(shí)算法、智能契約執(zhí)行器、錢包和雙向掛鉤實(shí)現(xiàn)都是同一代碼庫中的特性。
目前你可以運(yùn)行的代碼庫:
· 比特幣(PoW)節(jié)點(diǎn)
· StraTIs (PoS)節(jié)點(diǎn)
· Cirrus (PoA +智能合約)節(jié)點(diǎn)
此外,由于節(jié)點(diǎn)的靈活性,我相信我們可以在幾天內(nèi)為比特幣現(xiàn)金、、Private、Doge、Litecoin等構(gòu)建完整的節(jié)點(diǎn)集成。在對(duì)模型和其他特性進(jìn)行了一些嘗試之后,我們可以對(duì)其進(jìn)行擴(kuò)展,以便更容易地支持更多的鏈類型。
當(dāng)你在NET Core中創(chuàng)建一個(gè)新網(wǎng)站時(shí),你可以預(yù)加載一個(gè)模板,并根據(jù)你的需要快速調(diào)整組件,在一天之內(nèi)完成一個(gè)新的web應(yīng)用原型。我們希望,有了StraTIs的開發(fā)者能夠做同樣的事情,但他們自己的區(qū)塊鏈網(wǎng)絡(luò)。
IFullNode node = new FullNodeBuilder()
.UseNodeSetTIngs(nodeSetTIngs)
.UseBlockStore()
.UseMempool()
.AddRPC()
.AddSmartContracts()
.UseCLRExecutor()
.UseApi()
.Build();