ITPub博客

首页 > 区块链 > 区块链 > 马蹄链佛萨奇系统开发2.0佛萨奇系统开发源码部署

马蹄链佛萨奇系统开发2.0佛萨奇系统开发源码部署

原创 区块链 作者:Tg_StPv888 时间:2023-02-28 14:03:38 0 删除 编辑

  From a technical perspective,blockchain has entered the stage of platform-based,component-based and integrated development from the initial technological exploration.It is mainly reflected in the following aspects:First,the platform promotes the formation of urban chain network.City chains such as Chang'an Chain,Shuxin Chain and Haihe Chain have emerged in succession.After the city chains are interconnected,they will form a city chain network to support a larger scale of application scenarios


  区块链将与大数据、云计算、人工智能等新一代信息技术深度融合,实现数据和资产价值的最/大/化。在平台化、组件化和集成化发展的过程中,将形成围绕区块链的数字科技体系和信息技术服务体系,更大规模的创新应用场景落地实现获得支撑,数字产业化的新格局加速形成。


  native.hpp的区块头结构体。


  时间戳,uint32_t类型


  生产者,name类型


  confirmed,已确认数,uint16_t,初始化为0。


  前一个区块的hash,是capi_checksum256类型的


  事务Merkle树根,Merkle数的内容请点击以及点击。概况来讲,是为了校验区块内打包的事务的真伪以及完整性的。


  action的merkle树根,,校验区块内所有action的真伪以及完整性。


  计划版本,schedule_version,uint32_t类型,初始化为0。


  后续计划出块者。producer_schedule类型。


  producer_schedule


  定义在librarieseosiolibproducer_schedule.hpp。该结构体定义了有效生产者集合的出块顺序、账户名以及签名密钥。


  struct producer_schedule{


  //时间计划的版本号,按顺序递增。


  uint32_t version;


  //此计划的生产者列表,包括其签名密钥


  std::vector<producer_key>producers;


  };案例及设计:StPv888


  陌生的部分是producer_key,该结构体定义在librarieseosiolibprivileged.hpp,是用来映射生产者及其签名密钥,用于生产者计划。


  struct producer_key{


  name producer_name;


  //此生产者使用的区块签名密钥


  public_key block_signing_key;


  //重载运算符小于号,producer_key的两个对象进行小于号比较时,返回的是其name类型的生产者账户的比较。


  friend constexpr bool operator<(const producer_key&a,const producer_key&b){


  return a.producer_name<b.producer_name;


  }


  EOSLIB_SERIALIZE(producer_key,(producer_name)(block_signing_key))


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70016646/viewspace-2937362/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
专业区块项目开发团队:18028578624微電

注册时间:2022-04-13

  • 博文量
    158
  • 访问量
    95691