用 dfuse `transaction_lifecycle` 端點跟蹤任何交易,包括延期交易

用 dfuse  端點跟蹤任何交易,包括延期交易.png

Source

跟蹤交易的生命週期對於任何應用程序來說都非常重要,確保將任何狀態更改提交到區塊鏈。 dfuse 是唯一提供如此強大生命週期的平臺,包括跟蹤延期交易的整個生命週期的能力,是 dfuse 獨有的功能。

點擊查看視頻



文字轉錄:

哇!那是我的頭髮。好像自從主網上線以來,它就像… >
今天的視頻是關於我們提供的生命週期端點。這個很了不起,也是一個讓 dfuse 獨特的地方。它是一個能給你交易的完整生命週期的端點 >
什麼意思呢? >
我們在之前的視頻中談到了當您發送交易時,它可以入塊,變成了不可逆的,或者它可以因某種因素不入塊。有些情況使它不會被落實。好,那你會想去知道它怎麼回事。當您查詢 dfuse 平臺的transaction_lifecycle端點時,我們會告訴你交易是否入塊。它被執行了嗎?還是它失敗了?是以哪種形式失敗的?softfail 還是 hardfail?我們會給你失敗的蹤跡。我們提供所有堆棧痕跡。 >
我們還給你控制檯輸出。合約的開發者以可加上 print 來獲取它,dfuse 也是唯一可以給出控制檯輸出的平臺。這樣你就可以在 prod 中做調試。 …但不要那樣做,先在測試網上做測試 >
但另一個很牛的是它會跟蹤延期交易的整個生命週期。這絕對是獨一無二的。就是說如果你的延期交易進入區塊鏈,比如它是被推遲了5天…Lifecycle 會標示出來尚未執行的交易。說明它是不是入塊了。它可以以某種形式入了塊,但還在等待。它在區塊鏈的存儲空間中等待執行。但是很多事情都可能發生在這個等待的過程中。它可以被取消,被執行,可以過期。如果它們最終被執行了,那麼你需要知道。那就查詢生命週期端點,我們會告訴你:"這個交易,在這個塊中被延遲,現在這個塊中被執行。"但那也可能會改變,記得嗎?因爲有微分叉。因此,如果你進行多次查詢,就可以瞭解到它的狀態。在哪個塊中被執行,相關的最新區塊, 或者它也會表明哪個是不可逆的,執行是不是可逆的、創建是不是可逆的,因爲他是有這兩個過程的。 >
還有可能發生別的,它可以被取消。如果你在系統合約上調用 canceldelay 操作,你可取消正在進行中的交易。"正在進行"就是說它被存儲在鏈上等待它的延遲到期然後去執行。那如果你取消了它,你就會收到另一個生命週期事件。你會看到他被創建然後被取消了。因爲它被取消了,但是取消也可能是分叉造成的,所以你得有這個信息。如果你正在查詢生命週期,同時有個延遲交易被取消了,你會看到交易本身,在什麼時候被延期,是否進入過不可逆狀態。然後還能看到取消操作和它是否是不可逆的,或者被切換爲執行操作。那也是有可能的。 >
因此,通過查詢生命週期端點,你會有延遲交易的所有狀態,也可以看到普通交易的生命週期,推送和執行,以及不可逆性。最後還能看到過期狀態。即使在延遲通過後,比如5秒之後,沒有節點運行它(我記得的好像有一個時間限制什麼的)10分鐘。如果沒人運行它,它到期了,那麼它將被清除出區塊鏈。這你得知道如果你的交易剛剛過期,沒有人接受運行它。大多是情況下是該交易的節點執行失敗或主觀拒絕了它。 >
那,我覺得這介紹的差不多了。 transaction_lifecycle端點,dfuse平臺的獨特功能。dfuse 平臺是唯一跟蹤延期交易的。如果你上 eosq.app,你會發現它顯示很多細化的信息。 如果你找一個延遲交易,你可以同時找到上一個創建它的交易還有誰取消了它,誰執行了它, 中間遇到了哪些障礙。eosq 實際上是展示 dfuse 平臺有多強大的例子。網址就是 eosq.app,我們的區塊瀏覽器。後端由 dfuse 支持, eosq 只是個前端。 >
如果您有任何疑問,請加入我們的電報羣:dfuse API。我們一起度過美好時光,我希望你們都能夠起步,並享受在 EOS 上做開發。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章