钱包基础结构

1. 钱包结构体

新建钱包结构体,里面有:

  • 公私钥对
  • 构造函数
  • 辅助函数

2. 地址生成

给钱包增加getAddress成员函数,执行以下步骤:

  1. 对公钥执行哈希
  2. 对①结果加上版本信息
  3. 对②结果哈希两次
  4. 拼接②结果和③结果
  5. 对④结果执行Base56算法

交易结构优化

3. 交易结构修改

  • input中加入自身公钥和签名
  • output还是放value和公钥

安全机制

4. 鉴权系统

提供一系列鉴权函数,检验公钥是否合法。

5. 签名系统

提供签名和验证签名的函数:

  • 对自身公钥所引用的输出的公钥(UTXO)和value执行签名
  • 修改unspendutxo函数,把鉴权逻辑改成使用签名