[SOLVED] 合約執行返回Instruction is not supported

我們做了一個隨機數生成器,合約的地址是這個,然後運行的腳本是這個,但是一直返回Instruction is not supported,但是我們在remix上測試的時候都已經通過了,想問下怎麼查看是哪一步的instruction出錯了?或者是執行合約的錯(因爲這個執行好像是異步的)?謝謝!

是charge模式吗?

看到了,是quota

payable去掉试一下

还有一个问题,你们编译器用的官方c++还是js版的

js版本的,不過我換了c++的,並沒有解決

我試了把payable刪掉,也沒有變化(

對了,我想知道你那邊如果直接跑我們的腳本是會返回同樣的錯誤嗎?

神奇。
我试一下你的脚本

Any updates?

sorry! one minute…

@dexhunter
我测了一下你的合约, 我注释的那两行其实没有验证数组 campaigns是否包含传入的id,没有的话就会你说的错误,这个依赖newCampaign的调用。我在你脚本里面也没看到newCampaign的调用,你们是提前调用了那个接口还是怎么样?

    function commit(uint256 _campaignID, bytes32 _hs) NotBlank(_hs) {
      if(_campaignID+1>=campaigns.length) {
          newCampaign(uint32(block.number)+40,0,40,20);
      }
      // Campaign c = campaigns[_campaignID];
      // commitmentCampaign(_campaignID, _hs, c);
    }

謝謝,不過我們發現問題是循環,應該是異步執行裏需要先await,我修正後好像可以用了。

ok
脚本里.then也是sync的用法

是,是我不會javascript(霧

手动捕捉一只“去中心化交易所猎人”:smirk: