XDAG技术详解0-写作计划

2019-10-17

XDAG技术详解0-写作计划

作者:社区成员Larry

对xdag项目感兴趣有段时间了,也陆续学习研究了xdag项目的代码和资料,体会颇多。

xdag是个好项目,但是,这个项目的文档写的很简陋,代码也写的很晦涩,看起来很费劲,经过了长时间的研究学习,对这个项目的代码算比较清楚了,现在把这些内容写下来,希望对后续想研究xdag的爱好者们一个参考,帮助大家能更快的理解xdag项目。

下面是写作计划和目录,有兴趣的同学可以一起探讨。

  1. xdag概要

    为什么需要xdag,与比特币有哪些不同。主要突出xdag提出的目的,和要解决的问题。

    简要描述xdag模型,对xdag模型有个基本的概念。

  2. 基本概念

    对后续介绍原理和代码中会遇到的一些基本概念,做一个初步的说明,有些说明后续还会更细节的讲,这里只是粗略的说明。

  3. 文件存储模式

    详细说明xdag自身的存储结构、设计原理、二进制布局等等。

  4. dnet网络工作原理

    详细说明xdag的pool间同步网络(dnet)的设计原理,一些关键设计细节。

  5. 主链构造与决策

    DAG结构主链如何构造和决策,这里是xdag项目的关键,也是最复杂的部分。这一章会详细介绍这里的细节。

    包含很多子章节

    1. 各种块类型的介绍与工作模式
    2. 收到block后的构造过程
    3. xdag块的签名与验证过程
    4. 难度与算力的计算
    5. 如何识别主链、主链如何切换
  6. 挖矿(POW)

    这部分主要介绍挖矿过程,pow决策过程,pool与miner交互流程,钱包与pool如何交互,pool如何分配收益给矿机等等细节。

  7. xdag代码

    1. 运行架构
    2. 多线程功能
    3. 重点数据结构:block,block_internal。
    4. 重点代码流程注释
      1. add_block_nolock
      2. xdag_create_block
  8. 协议规范

    这部分的目的是总结xdag的接口协议,方便后续其他语言可以更方便的实现对接。

    1. 网络协议
      1. dnet网络协议
      2. 矿池与矿机协议
      3. 矿池与钱包协议
    2. 文件存储结构
    3. 加解密与钱包
  9. 改进思考

    写一些个人对改进方面的思考。

XDAG

Support The Community: This site is managed by the XDAG community.

  • XDAG 4duPWMbYUgAifVYkKDCWxLvRRkSByf5gb

  • BTC 39QyFnyoW45dWMReaZtcoRHP2S4DqU8xQG

  • ETH 0xb5F34fEb083186AfcB1DB1eFdE41eDA1f9BD9fB1

Contact us

You can find us in the following channels