stratis完整节点是为stratis区块链网络提供动力的引擎。一个未来证明和环境可持续的共识协议,它使用了PoS算法,同时提供侧链、智能合约和即插即用共识算法。
完整stratis区块链的最新副本由每个完整节点保存,它们还能够支持比特币区块链网络;完整节点可以自动和授权地验证任一网络上的区块和交易。
每个节点都主动维护与网络上其他节点(对等)的连接,从而确保块和交易在网络中快速传播。识别并禁止可疑对等点,从而确保网络的质量。
块挖掘也是完整节点的责任。这个过程涉及到用内存池中的交易填充块模板。内存池保存着尚未添加到区块链的待处理交易的记录。一旦矿工组装了一个新块,就尝试使用PoS或PoW一致性算法(取决于网络)为新块生成哈希。如果哈希满足目标,新块满足共识规则,则矿工将获得奖励(和交易费用),新块将写入区块链。
比特币在C#中的实施
stratis是在.NET核心平台上用C#语言实现比特币协议。
该节点可以在比特币和stratis网络上运行。
Stratis比特币基于NBITCOIN项目。
对于Stratis token的POS支持,节点使用Nstratis,它是Nbitcoin的POS实现。
.NET核心是一个开源跨平台框架,支持在Windows、MacOS和Linux上开发应用程序和服务。
设计
模块化方法
区块链由许多组件组成,从验证区块的完整节点到跟踪地址的简单钱包。最终目标是开发一组Nuget包,实现人员可以从中挑选所需的内容。
Nbitcoin
Stratis.Bitcoin.Core:最低限度运行一个精简版节点。
Stratis.Bitcoin.Store:存储块或转发块到peers。
Stratis.Bitcoin.MemoryPool:跟踪挂起的交易。
Stratis.Bitcoin.Wallet:发送和接收代币。
Stratis.Bitcoin.Miner:POS 或 POW
Stratis.Bitcoin.Explorer
在.NET核心的编程风格中创建区块链:
varnode =newFullNodeBuilder().UseNodeSettings(nodeSettings).UseConsensus().UseBlockStore().UseMempool().AddMining().AddRPC().Build();node.Run();
下一步是什么
我们计划在Stratis比特币区块链上添加更多功能:侧链、私有/许可区块链、编译的智能合约、Ntumblebit/Breeze钱包等等……
运行完整节点
我们的完整节点目前位于alpha。
git clone https://github.com/stratisproject/StratisBitcoinFullNode.gitcdStratisBitcoinFullNode\srcdotnet build
在比特币网络上运行:
cd Stratis.BitcoinDdotnetrun
在stratis网络上运行:
cd Stratis.StratisDdotnetrun
看我主页简介免费C++学习资源,视频教程、职业规划、面试详解、学习路线、开发工具
每晚8点直播讲解C++编程技术。