模块化是指一个系统能够分解成可以分离和重新组合的组件。最好的软件开发工具通常是高度模块化的,允许重用“程序集”或“模块”。这一原则是Java、c#和Go等开发框架的核心。
模块化促进了创新。当创建一个新的web应用程序时,大部分运行的代码实际上都在外部开发的包中;无论它们是数据库连接、页面呈现引擎、输入验证器等等,开发人员都可以非常容易地构建一个新网站概念的原型。
然而,如果你去看看最珍贵的加密货币代码库——比特币核心存储库,你会发现它非常不灵活。非模块化代码通常以长文件为特征,类的单个实现通常依赖于其他的具体实现。以比特币核心验证为例并不是说只有比特币存在这种情况。大多数区块链节点存储库,如Go Ethereum也完全没有考虑到灵活性。
现在需要注意的是,在比特币的例子中,模块化不是优先考虑的。如果您相信您正在构建未来的单一“货币”,那么为什么要让其他人更容易地使用您的代码进行构建呢?比特币核心是高度集成的,但它经受住了时间的考验,并且行之有效。这不是对比特币核心代码库的批评。
尝试使用区块链
随着区块链被引用为所有问题的答案,许多项目开始尝试不同的节点实现。特别是在敏感数据和私有链,或者在外部数据是链 *** 作的核心的情况下,项目发现基于智能合约的方法不允许它们具有足够的灵活性。不幸的是,直到最近,为了创新,开发商正在剥离像比特币这样的集成节点,或者从零开始创建新的节点。
这两种方法都很痛苦、耗时,而且容易出错(不安全)。
当一个拥有全新功能的区块链网络可以像这样快速转移时,这个领域将真正繁荣起来。
StraTIs——一个模块化平台
对我来说,最令人兴奋的事情是,我们正在考虑以完全不同的方式建立区块链。不同的共识算法、智能契约执行器、钱包和双向挂钩实现都是同一代码库中的特性。
目前你可以运行的代码库:
· 比特币(PoW)节点
· StraTIs (PoS)节点
· Cirrus (PoA +智能合约)节点
此外,由于节点的灵活性,我相信我们可以在几天内为比特币现金、、Private、Doge、Litecoin等构建完整的节点集成。在对模型和其他特性进行了一些尝试之后,我们可以对其进行扩展,以便更容易地支持更多的链类型。
当你在NET Core中创建一个新网站时,你可以预加载一个模板,并根据你的需要快速调整组件,在一天之内完成一个新的web应用原型。我们希望,有了StraTIs的开发者能够做同样的事情,但他们自己的区块链网络。
IFullNode node = new FullNodeBuilder()
.UseNodeSetTIngs(nodeSettings)
.UseBlockStore()
.UseMempool()
.AddRPC()
.AddSmartContracts()
.UseCLRExecutor()
.UseApi()
.Build();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)