Web3js

truffle-contract 永遠不會解決 Contract.new() 承諾

  • November 20, 2017

我遇到了以下功能的問題:

public async createNoteWeb3() {
  let bank = await this.bank.at(this.bankAddress);
  try {
    let note = await this.note.new(this.bankAddress,{from: this.user.address});
    let status = await bank.addNote.sendTransaction(this.bankAddress,{from: this.user.address});
    let status2 = await bank.addNote.sendTransaction(this.bankAddress,{from: this.user.address});
    console.log('Status: ' + status);
  } catch (e) {
    console.log(e);
  }
  this.getNotesWeb3();
}

status2 僅用於測試目的。通常第一個狀態應該以 note.address 作為參數而不是 this.bankAddress。

但是,當註釋掉“let note”行或拒絕創建合約的第一個元掩​​碼請求時,以下兩個交易會一個接一個地彈出,或者“catch”部分出現。但是當我接受契約創建時,沒有後續交易出現。日誌中也沒有錯誤。

任何建議如何處理這個?

(truffle 開發鏈上的 truffle-contract 與 chrome 中的 metamask)

更新:如果 new() 函式成功,看起來承諾永遠不會被解決。如果我拒絕創建契約,程式碼會跳轉到“catch”部分。

似乎問題已經在這裡討論過:

https://github.com/trufflesuite/truffle-contract/issues/70

引用自:https://ethereum.stackexchange.com/questions/31184