Liens数据流图
2018-11-20 14:43:35 0 举报
区块链发起交易数据流图
作者其他创作
大纲/内容
Transaction流
router.post(\
广播交易
获得指定数量节点,并逐个随机执行下面的方法
计算交易id: getId(由时间戳,交易额,密钥,地址,交易类型等综合生成)
合法
UTXO的队列
添加时间戳timestamp:slot.getTime()
处理未确认交易processUnconfirmedTransaction()
计算交易费用 fee
处理完交易后
验证交易
transport.getFromPeer()
modules.peer.list()
避免双花交易doubleSpendingTransactions[transaction.id]
验证签名transaction.verify()
library.balanceSequence.add()
包含步骤
modules.peer.update()交易完成后,更新节点
process进行系列验证,并从区块链数据库中验证txId属于未确认交易
生存交易数据+交易签名
交易信息生成交易logic.transaction.create()
private.addUnconfirmedTransaction
transport.broadcast()包含广播的节点数量,交易数据,请求方法
transport.onUnconfirmedTransaction()
找到某节点后,该方法把交易数据通过post发送到api/peer/transactions接口,整个过程使用request模拟浏览器完成
交易上链
处理签名但未确认的交易modules.transactions.receiveTransactions()
transactions.prototype.applyUnconfirmedTransaction
此处验证为密码学验证,签名的验证为数据正确性验证
通过此步骤关联到区块链上,即把交易应用到状态数据库
收藏
收藏
0 条评论
回复 删除
下一页