当前位置:首页区块链如何解决eosio常见的错误报告

如何解决eosio常见的错误报告

如何解决eosio常见的错误报告

在eosio上开发时,用户可能会遇到一些错误消息。有时这些错误消息不容易理解,这导致我们经常看到开发组中的各种屏幕截图和问题。为了帮助新开发人员克服这些挑战,我们总结了一些最常见的错误报告信息。

请注意,一些钱包和其他应用程序接口可能会更改原始消息格式,以便于理解。例如,NodeOS(eosio的操作软件)的原始输出可以如下:

{ "code": 500, "message": "Internal Serice Error", "error": { "code": 3080004, "name": "tx_cpu_usage_exceeded", "what": "Transaction exceeded the current CPU usage limit imposed on the transaction", "details": [ { "message": "billed CPU time (2115 us) is greater than the maximum billable CPU time for the transaction (162 us)", "file": "transaction_context.cpp", "line_number": 553, "mETHod": "alidate_cpu_usage_to_bill" } ] }}

您收到的错误消息可能是:计费CPU时间(2115 US)大于事务允许的最大CPU时间(162 US)

在本文中,我们将用更简洁的信息来讨论后者。错误1:“可用CPU不足”

Transaction failed - billed CPU time (1342 us) is greater than the maximum billable CPU time for the transactions (71 us)

事务失败-所需CPU(1342 US)超过事务最大值(71 US)

此错误消息意味着为该事务提供CPU的帐户中为CPU认捐的代币数不足。CPU单位为微秒(US),根据BP节点处理事务所需的时间计算。

解决方案:您需要为CPU抵押更多代币

你可以在CPU上抵押更多自己的代币,也可以抵押其他账户。你也可以从雷克斯那里租一些eosio链的资源。CPU一次可租用30天,30天后可续借。

专家提示

您的CPU使用率将每24小时完全重置一次。在块浏览器上查看帐户信息时,可能会显示您帐户上的某些CPU已被占用,并且不显示重置,即在您推送新事务后更新它。错误2:“签名不正确”

Proided keys, permissions, and delays do not satisfy declared authorizations, transaction declares authority '{"actor":"testaccount1","permission":"actie"}', but does not hae signatures for it under a proided delay of 0 ms, proided permissions [], proided keys [EOS7j9ViHGp….Po57], and a delay max limit of 3888000000

提供的密钥、权限和延迟不能满足授权要求。事务需要授权权限:'{“actor”:“testaccount1”,“permission”:“actie”},但无延迟为0毫秒,授权为[],密钥为[eos7j9ihgp。po57]最大延误3888000000

此错误的原因是用户密钥无法满足已签名事务所需的权限。一种常见的情况是您的钱包中有多个钥匙,或者您的钱包在重置后无法使用之前的钥匙。

解决方案:使用正确的密钥签署事务

不是每个用户都知道如何确定要使用哪个键。首先,可以转到块浏览器进行检查。通常,您的权限将列在帐户页上。如果使用eosq,可以看到以下信息:

如何解决eosio常见的错误报告1

然后,查看您的公钥。您使用的私钥与公钥匹配。通常,您需要使用活动权限签署事务。然后您需要检查您的私钥是否与活动权限的公钥匹配。

如果您重新设置钱包,您可能需要通过先前的备份或密码恢复先前的密钥。恢复方法不同于每个钱包,但通常钱包会在您导入密钥/创建帐户时解释其恢复方法。

专家提示

建议熟悉eosio的账户权限系统。在理解了它之后,您会发现它可以实现许多强大的功能。我们建议您在测试网络上创建一个帐户,更改密钥,并自行设置不同的权限。这是熟悉许可系统的好方法。试过之后你就会知道了。没那么复杂。错误3:“未启用任意数据”

Transaction failed - Please enable arbitrary data on ledger deice within EOS app. {"name":"TransportError","message":"Failed to sign with Ledger deice: U2F TIMEOUT"

交易失败-请在EOS应用程序中启用分类帐设备上的任何数据。{“name”:“TransportError”,“message”:“无法使用分类帐设备签名:U2F超时”

解决方案:启用任意数据签名

如果使用分类帐硬件钱包的用户未启用任何数据签名,他/她将遇到此错误。你会问,“什么是任意数据?”任何不属于核心系统契约的操作都是任意数据。如果不想只与系统契约交互,则需要启用此功能。

专家提示

更新分类帐设备时,可能需要将其重新打开。因此,如果您再次遇到此错误报告,请检查是否需要启用它。错误4:“相关权限”

updateauth action declares irreleant authority '{"actor":"testaccount1","permission":"actie"}'; minimum authority is {"actor":"testaccount1","permission":"owner"}

update auth操作查找不相关的权限{“actor”:“testaccount1”,“permission”:“actie”};所需的最小权限为{“actor”:“testaccount1”,“permission”:“owner”}。尝试更改帐户的所有者权限时可能会发生此错误。如果要更改所有者密钥,则需要原始所有者权限的授权。如果不指定选择权限,钱包通常默认使用活动权限对交易进行签名,无法满足执行要求。

实际上,您可以将帐户权限视为树结构。顶级父权限可以控制下面的所有子权限,下面的每一级权限都可以控制下面的其他权限。

解决方案:确保使用正确的权限

无论您使用哪种钱包,请务必使用正确的钥匙签署操作。所有者具有最高级别,可以控制其下的所有权限。

专家提示

始终保持所有者密钥的安全,并尝试使用活动和低级密钥授权操作。这样,如果您的密钥被盗,您还可以使用所有者密钥恢复对帐户的控制。5: “阻止生产者投票”

Transaction failed - producer is not currently registered

事务失败-节点当前未注册

有些用户在一次为节点设置投票后可能不会考虑该节点。此时,我们需要检查正在投票的节点是否仍然注册。如果遇到此错误,则表示您支持的某个节点已注销其节点业务。

解决方案:确保该节点的业务仍在运行

可以在许多块浏览器上查看支持的节点的状态。如果您投票的节点的业务停止,则可以选择投票给其他节点。

专家提示

还有一种情况是,节点的基础设施遇到问题,需要暂时注销才能修复。在重新检查30个节点的投票之前,可以等待几个小时再次投票,以查看是否再次报告错误。错误6:“自定义帐户名”

Assertion failure with message: only suffix may create this account

断言失败,并显示消息:只有后缀才能创建此帐户

eosio链有一个名称空间拍卖的概念,允许用户拥有少于12个字符的漂亮数字。然后用户可以使用此命名空间创建“子域名”帐户。例如,如果您为com帐户拍照,则拥有后缀的所有权。通用域名格式。你可以创建123.comcrypto.com公司这样的说法。如果创建的自定义帐户名没有相应的命名空间,则会遇到此错误。

解决方案:捕获相应的命名空间

您需要赢得拍卖才能获得名称空间的所有权。命名空间拍卖最多每24小时关闭一次。只有在整个24小时内,所有名称空间中出价最高的人才能得到他竞购的名称空间。您可以阅读本文以了解有关命名空间拍卖系统的更多信息。

专家提示

您还可以使用目前市场上的一些服务,直接从为名称空间拍照的人那里购买。错误7:“帐户内存不足”

Transaction failed - Account using more than alLootted RAM usage, account testaccount1 has insufficient ram; needs 4468 bytes has 4382 bytes.

事务失败-帐户即将使用的ram超过分配的使用量,并且帐户testaccount1的ram不足;它需要4468字节,但只需要4382字节。

eosio链中的三个资源之一是ram,它用于长期存储帐户数据。因为它存储数据的时间很长,账户需要购买数据,而不是通过抵押贷款获得数据。

解决方案:购买更多RAM

如果遇到此错误,请购买足够的ram以满足事务需要。一般来说,钱包都有相关的功能。

专家提示

即使您交易了帐户中的所有代币,该代币占用的ram也不会释放。要释放相应的ram,首先需要检查代币契约中是否有close操作。调用close操作后,释放相应的ram。解决更多错误

温馨提示:

文章标题:如何解决eosio常见的错误报告

文章链接:https://www.btchangqing.cn/28863.html

更新时间:2020年08月14日

本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。

如何解决eosio常见的错误报告2
区块链

划定界限还是要撤退?从“ Calibra重命名为Novi”看Facebook的一厢情愿

2020-5-30 13:45:05

区块链

【搬砖】每天赚100 ETH搬砖套利法,3分钟了解!

2020-5-30 14:11:15

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索