第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當我使用golang調(diào)用合約方法時,如何確認這個trx狀態(tài)?

當我使用golang調(diào)用合約方法時,如何確認這個trx狀態(tài)?

Go
蠱毒傳說 2022-12-19 21:14:04
我將令牌鑄造到我的帳戶并返回交易哈希,但我現(xiàn)在不知道這個哈希狀態(tài)。就像 js 可以使用回調(diào)函數(shù)來等待這個 trx 完成     var promise = await token.mint("my account",1)     console.log(promise.transactionHash)高朗transaction, err := erc721.Mint(trx, common.HexToAddress("my account"), big.NewInt(int64(i)))        if err != nil {            fmt.Println(err)        }        fmt.Println(transaction.Hash().String())
查看完整描述

1 回答

?
德瑪西亞99

TA貢獻1770條經(jīng)驗 獲得超3個贊

如評論中所述,您必須收聽事件日志(最好針對您的地址進行過濾),并在確認后致電收據(jù)。


注意:示例只是為了演示必要的步驟。


func waitForReceipt(c *ethclient.Client, hash, addr string) (*types.Receipt, error) {

    query := ethereum.FilterQuery{

        Addresses: []common.Address{addr},

    }

    var ch = make(chan types.Log)

    sub, err := c.SubscribeFilterLogs(ctx, query, ch) // subscribe to all logs for addr

    if err != nil {

        return nil, err

    }


    for confirmed := false; !confirmed;  { // wait for confirmation on blockchain

        select {

        case err := <-sub.Err():

            return nil, err

        case vLog := <-ch:

            if vLog.TxHash.Hex() == hash {

                confirmed = true

            }

        }


    }

    return c.TransactionReceipt(ctx, hash) // call for receipt

}


查看完整回答
反對 回復 2022-12-19
  • 1 回答
  • 0 關注
  • 77 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號