Transaction(TX) 的产生
- CreateTransaction (A转账给B一个btc)
1) 返回值 bool
2) 传入参数
@ nFeeRequiredRet 最终要返回的给矿工的小费
3) 主要调用
@ CRITICAL_BLOCK(cs_main) 暂时跳过
@ SelectionCoins(nValue,setCoins) 选择到具体的UTXO,把对对应的TX存在setCoins里面
4) 流程图 @scriptPubKey B的地址加上一些其他信息生成的 @nValue 要转账的金额(猜测n是num或者new的缩写) @wtxNew 生成的新Tx(w是什么缩写未知)
SelectCoins
1)返回值 bool
2)传入参数
3)主要调用
5) 流程图 @nTargetValue 需要凑够的金额 @setCoinsRet 选择的UTXO在这个set返回 @CRITICAL_BLOCK(cs_mapWallet)暂时跳过CommitTransactionSpent
- 返回值 bool
- 传入参数
@wtxIn 要写入Disk的Tx - 主要调用
4)流程图 @AddToWallet 判断收到的Tx是否重复,并写入Disk // 中间有一些没读懂
- AddToWallet
- 返回值 bool
- 参数列表
3)主要调用
4)流程图 @wxtIn 要写入的Tx @wtx.WriteToDisk() 暂时跳过,看函数名应该是写入Disk的方法
- SendMoney(A转账给B一个btc)
- 返回值 bool
- 传入参数
@scriptPubKey 由B的公钥生成 @nValue 转账金额 @wtxNew 新交易 - 主要调用
@CreateTransaction 生成Tx
@CommitTransaction 扫尾工作,记录Tx
@wtxNew.AcceptTransaction 一定要成功
4)流程图