在Testnet上部署智能合约时出现未知错误,导致合约错误

时间:2019-01-22 09:27:12

标签: c++ blockchain smartcontracts eos

我正打算在测试网http://api.kylin.alohaeos.com上部署合同。我有以下hello2.cpp程序

#include <eosiolib/eosio.hpp>
#include <eosiolib/print.hpp>

using namespace eosio;

class suniltestacc : public contract {
  public:
      using contract::contract;

      [[eosio::action]]
      void hi( name user ) {
              //require_auth( user );
              //print( "Hello, ", name{user} );
                print( "Hello, ", user);
      }
};

EOSIO_DISPATCH(suniltestacc, (hi))

我使用eosio-cpp -o hello2.wasm hello2.cpp --abigen编译了该程序。它给了我两个我忽略的警告。

Warning, empty ricardian clause file
Warning, empty ricardian clause file

然后我执行cleos -u http://api.kylin.alohaeos.com set contract suniltestacc /home/varsha/Varsha/contracts/hello2 这成功运行,之后我尝试使用此命令

cleos -u https://api.kylin.alohaeos.com push action suniltestacc hi '["bobmarley"]' -p suniltestacc@active

给我错误

error 2019-01-22T08:10:35.520 thread-0  main.cpp:3449                 main                 ] Failed with error: Assert Exception (10)
!action_type.empty(): Unknown action hi in contract suniltestacc.

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

这没什么问题,一切正常。

下面是我调用您的函数时的结果。

./catalina.sh start

已执行交易:8faa9669ed143c979afa842489dafdfc610e0c6ad4f2831039a170448f867835 104字节134 us

suniltestacc <= suniltestacc :: hi {“ user”:“ bobmarley”}

警告:交易在本地执行,但可能尚未被网络确认]

让我知道我能否进一步帮助您。