老师,通过学习您的课程,我已经能熟练搭建fabric的系统了。但是有个问题,如何才能知道invoke的交易已经成功写入账本中了?

来源:6-3 网络搭建完结篇

慕雪4578655

2020-03-25

假如我在程序的第一步进行了invoke,但是第二步需要query查询第一步invoke写入账本的结果。怎么样才能实现一个类似于监控器的东西,监控交易已经写入区块?

写回答

1回答

自游蜗牛

2020-03-26

要确定交易成功,可以监听区块事件。有新区块产生时,可以查看当前交易是否被包含进去了,且状态是被接收的。也可以根据交易id查询区块链,如果能查到,且状态正常。就能确定交易执行成功了。fabric没有分叉,所以只要交易被包含在区块,就是不可变更的了。

2
3
自游蜗牛
回复
慕雪4578655
query交易并不会存储在区块链网络中,它只是会去你指定的节点获取信息,并没有对区块链网络有任何的影响。fabric为了区分两种类型的交易,就拆分了invoke跟query。 所以会出现这样一种情况,虽然我的交易并没有对区块链写入任何数据,即query交易。但是如果你以invoke方式执行这个交易,在区块链中就能查到这个交易了。
2020-03-27
共3条回复

Hyperledger Fabric实战联盟链-企业端区块链原理精讲

兼顾区块链应用层和底层 进击区块链工程师

787 学习 · 564 问题

查看课程