请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

正在回答 回答被采纳积分+3

1回答

自游蜗牛 2020-03-26 10:20:32

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

2 回复 有任何疑惑可以回复我~
  • 提问者 慕雪4578655 #1
    好的!感谢老师,我回去试一试!
    回复 有任何疑惑可以回复我~ 2020-03-26 20:40:19
  • 提问者 慕雪4578655 #2
    老师,为什么根据根据写入操作的交易id能查询到信息,但是根据query查询操作的交易id,却查不到交易信息?
    回复 有任何疑惑可以回复我~ 2020-03-27 17:11:20
  • 自游蜗牛 回复 提问者 慕雪4578655 #3
    query交易并不会存储在区块链网络中,它只是会去你指定的节点获取信息,并没有对区块链网络有任何的影响。fabric为了区分两种类型的交易,就拆分了invoke跟query。
    
    所以会出现这样一种情况,虽然我的交易并没有对区块链写入任何数据,即query交易。但是如果你以invoke方式执行这个交易,在区块链中就能查到这个交易了。
    回复 有任何疑惑可以回复我~ 2020-03-27 17:18:00
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信