Gas

智能合約測試

  • August 27, 2018

我正在編寫測試驅動的智能合約。有一個帶有參數化建構子的智能合約。我在建構子中使用了 require 語句。我想在我的測試案例中發現錯誤。返回的錯誤是:

“錯誤:無法儲存合約程式碼,請檢查您的gas量。”

在我看來,它應該與 Revert 有關。誰能告訴我為什麼它顯示氣體的錯誤。

下面是程式碼:

constructor(
       TwoC _twoc
       ) Ownable() Destructible() payable public {
       require(_twoc != address(0));

   }

測試案例:

it('Initial :: Null-Economy-Address-TestCase', async () => {
   let twoc= await twoc.new();


   await obj.new(null_address);

關於gas量的部分只是一個“最佳猜測”。系統試圖找出它失敗的原因,但它實際上並沒有任何想法。

錯誤消息的第一部分更有幫助:它無法儲存合約程式碼,因為它無法執行建構子。

在乙太坊周圍出現誤導性錯誤消息並不少見。目前,它只是有足夠的經驗來辨識哪個(誤導性)錯誤消息可能意味著什麼。

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