【问题标题】:Error 3080006:Transaction took too long in EOSIO blockchain错误 3080006:EOSIO 区块链中的交易时间过长
【发布时间】:2020-03-07 20:23:40
【问题描述】:

EOS 使用以下方法。

  • nodeos (node + eos = nodeos) - 核心 EOSIO 节点守护进程,可以 配置插件以运行节点。
  • 克莱奥斯 (cli + eos = cleos) - 与命令行交互的界面 区块链和管理钱包。
  • keosd (key + eos = keosd) - 将 EOSIO 密钥安全地存储在钱包中的组件。

部署系统合约时会抛出错误, 使用 Nodeos 进行调试时,发现以下错误日志。

错误日志

 `Error 3080006: Transaction took too long`.
./cleos set contract eosio ../../unittests/contracts/eosio.system -p eosio  

Reading WASM from /mnt/d/wcc/work/xeniro/snapscale/unittests/contracts/eosio.system/eosio.system.wasm...
Publishing contract...
Error 3080006: Transaction took too long
Error Details:
deadline exceeded

【问题讨论】:

  • 请分享系统合约代码?
  • 合约代码是否满足提供的api功能?以及你使用的是哪个版本的黎明

标签: blockchain eos


【解决方案1】:

请在开发者门户下为您正在使用的版本设置 BIOS 启动顺序 请查看Here

黎明4.1下,以下成功

nodeos --max-transaction-time=1000 --resync
cleos create key  # for eosio.token 
cleos wallet import ... 
cleos create account eosio eosio.token ... 
cleos set contract eosio.token build/contracts/eosio.token 
cleos push action eosio.token create '[ "eosio", "10000000000.0000 SYS", 0, 0, 0]' -p 
eosio.token 
cleos push action eosio.token issue '[ "eosio", "1000000000.0000 SYS", "memo" ]' -p eosio

cleos set contract eosio build/contracts/eosio.system 
Reading WAST/WASM from build/contracts/eosio.system/eosio.system.wasm... 
Using already assembled WASM... 
Publishing contract... 
executed transaction: 901b98f873d67a084ed8e6ea50453e474935e44865ffcef42289e8878198a9fa  40440 byt

【讨论】:

  • 感谢您的回答,我使用的是eos tag v1.8.2。我的意思是,当我使用 nodeos 二进制文件的发布版本时,我可以部署 eosio.system 合约。但是reset后用debug版本的nodeos二进制部署eosio.system合约,会报上述错误。我猜是因为debug模式,运行这个事务的时间比eos默认的单事务运行时间要大。所以在调试的时候,不适合部署复杂的合约。
猜你喜欢
  • 1970-01-01
  • 2022-12-15
  • 2018-12-21
  • 2019-04-24
  • 2019-12-09
  • 2021-01-15
  • 2020-07-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多