错误 3080006:EOSIO 区块链中的交易时间过长
Posted
技术标签:
【中文标题】错误 3080006:EOSIO 区块链中的交易时间过长【英文标题】:Error 3080006:Transaction took too long in EOSIO blockchain 【发布时间】: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功能?以及你使用的是哪个版本的黎明 【参考方案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默认的单事务运行时间要大。所以在调试的时候,不适合部署复杂的合约。以上是关于错误 3080006:EOSIO 区块链中的交易时间过长的主要内容,如果未能解决你的问题,请参考以下文章