以太坊文档
2020-11-27 17:42:12 0 举报
数字货币交易架构流程
作者其他创作
大纲/内容
否
广播交易信息
发布到以太坊测试网络
② 从0x999向0x123456发送1ETH
⑤ GETH节点接收到新的打包区块, 区块hash为: 0x123456fuck此区块中包含了一条交易hash为xxxooo
⑥ 返回交易结果
数据库
blockchain_eth数据库
根据交易金额挑选合适的UTXO组合
编译智能合约代码
同步区块高度
consumer-1
eth_APIserver服务
签名交易
是否通知成功
EOS区块链节点
消息MQ
EOSAPIserver
重试队列
交易处理流程:根据发送交易的地址私钥进行交易数据的签名加密操作生成二进制数据
http://exv.io 你的充值地址为: 0xa146625a4ba22c5c5e16064497760373152f89f6
读取MQ
consumer-n
① 发起充值请求
记录相关交易信息
查询当前区块高度
N/ 延时5S
当前是否有新的区块产生
BTC区块链节点
将编码结果进行keccak256hash运算
⑥ 扫描区块 解析交易xxxooofrom地址为: 0x1234to地址为: 0xa146625a4ba22c5c5e16064497760373152f89f6金额: 1eth
EOS全节点
账户余额是否足够
BTCAPIserver
⑦ 返回结果
获取From账户的nonce
N
P2P网络
geth区块链节点
调用智能合约的函数进行交易转账,余额查询等操作(在测试链上)
返回失败
将运算结果使用From的私钥进行签名
插入数据,通知交易所有充值动作
其他以太坊钱包或者区块链工具
④ 广播交易
eth_notifier服务
uidaddress10010 0xa146625a4ba22c5c5e16064497760373152f89f6
Notify-producer
构造完整的交易输入和输出
记录订单信息
MQ
查询比特币地址的UTXO
用户充值场景(小君同学登录了exv.io 准备进行充值操作)
⑦ 查询地址是否存在
⑤ 广播交易结果
构造找零地址和找零金额
将签名结果和交易内容进行编码
RPC系统调用
EOSNotify
③ 小君使用metamask向0xa146625a4ba22c5c5e16064497760373152f89f6转入1eth交易hash: xxxooo
更新数据库通知成功状态
写入MQ
重试通知是否成功
基于编译的智能合约代码生成相关的golang代码
Y
查询账户余
当前交易的From或者to地址属于我们平台
RPC调用
返回成功
解析EOS区区块交易信息
请求交易
② 返回充值地址
解析区块交易
BTCNotify
广播交易
http://exv.io 请输入提币地址地址:
发起创建地址请求
① 发起提币请求 输入的提币地址为: 0x123456
N
构造交易
返回地址 加密的私钥和签名
用户提币场景(小君同学登录了exv.io 准备进行提币操作)
③插入交易记录
⑧ 通知系统 地址0xa146625a4ba22c5c5e16064497760373152f89f6收到1ETH的充值
查询区块详情
收藏
0 条评论
回复 删除
下一页