在EOSIO上开发时,用户可能会遇到一些错误消息。有时这些错误消息很难理解,我们经常在开发团队中看到各种屏幕截图和问题。为了帮助新开发人员克服这些挑战,我们编写了一些最常见的错误消息的简短摘要。
请注意,一些钱包和其他应用程序接口可能会更改消息的格式,以使其更易于理解。例如,nodeos (EOSIO的操作软件)的原始输出可能是这样的:
{“代码”:500年,“消息”:“内部服务错误”,“错误”:{“代码”:3080004,“名字”:“tx_cpu_usage_exceeded”,“什么”:“交易超过了当前的CPU使用量限制强加在事务”,“细节”:[{“消息”:“宣传CPU时间(2115美元)大于**计费CPU时间的交易(162美元)”,“文件”:“transaction_context。方法:Validate_cpu_usage_to_bill}]}}”
并且您收到的错误消息很可能变成:计费CPU时间(2115us)大于该事务的**计费CPU时间(162us),需要该CPU (2215us)超过该事务允许的**值
在本文中,我们将用更简洁的信息讨论后者。错误1:“;CPU AailableAMPLrdquo不足;(CPU)不足
事务失败——计费CPU时间(1342 us)大于事务的**计费CPU时间(71 us)
事务失败——所需的CPU (1342 us)超过了允许的**事务数(71 us)
此错误意味着在为事务提供CPU的帐户中没有为CPU保证足够的代币。CPU的单位是微秒(us),以BP节点处理事务所需的时间计算。
解决方案:您需要将更多代币抵押给CPU
您可以在CPU上抵押更多自己的代币,也可以在其他帐户上抵押它们。Stake”或其他授权)。你也可以从REX租借一些EOSIO链资源。CPU可以一次租赁30天。
专家提示
您的CPU使用完全每24小时重置一次。当在块浏览器上查看帐户信息时,它可能会显示您的帐户上的一些CPU已被占用,并且不显示重置,这是为了在您推送新事务后更新它。错误2:“;不正确的signatures”(签名错误)
如果键、权限和延迟不满足已声明的授权,事务将声明权限' {" actor ":" testaccount1 ", "permission":" actie"} '。但在提供的0毫秒延迟下没有签名,提供了权限[],提供了密钥[eos7jihgp …。po57],**延迟限制为3.88亿
提供的密钥、权限和延迟不满足授权要求,事务需要授权权限:'{“actor”:”testaccount1″,”permission”:”actie”}’,但不是在延迟为0 ms的情况下,权限为[],密钥为[EOS7j9ViHGp…**延迟限制为3.88亿
发生此错误是因为用户使用的密钥不满足已签名的交换所要求的权限。在您的钱包中管理多个密钥是很常见的,或者重置您的钱包并不能访问前一个密钥。
解决方案:使用正确的密钥签署事务
不是每个用户都知道如何决定使用哪个密钥。首先,在block browser中查找它,它会列出您在帐户页面上的权限。如果你使用eosq,你可以看到以下信息:
然后,您看到您的公钥,并且您使用的私钥与公钥相匹配。通常,您需要使用活动权限来签署事务,因此您需要检查您的私钥是否与活动权限的公钥匹配。
如果您已经重置了您的钱包,您可能需要通过以前的备份或密码恢复以前的密钥。恢复方法不同于每个钱包,但钱包通常会告诉你如何恢复它,当你导入密钥/创建帐户。
专家提示
建议熟悉EOSIO的账户权限系统。当你了解它的时候,你会发现它可以实现很多强大的功能。我们建议您在测试网络上创建一个帐户,更改您的密钥,并自行设置不同的权限。这是熟悉权限系统的好方法,在您尝试过之后就会看到,它并不复杂。错误3:“;不支持任意数据;(不支持任意数据)
交易失败-请在EOS应用程序中启用分类帐设备上的无差异数据。{“name”:“TransportError”,“message”:“未能与分类帐设备签名:U2F超时”
交易失败-请启用EOS应用程序中的任何分类帐设备上的数据。{“name”:”TransportError”,”message”:”未使用分类帐设备签名:U2F超时”
解决方案:启用任意数据签名
如果不启用任意数据签名,分类帐硬件钱包的用户将遇到此错误。每个人都会问:什么是任意数据?在整个AMPL;任何不属于核心系统契约的操作都是任意数据。如果您不希望仅与系统契约进行交互,则需要启用此功能。
专家提示
当你更新你的分类账设备时,你可能需要重新启动这个功能。因此,如果您再次遇到此错误,请检查是否需要启用它。错误报告4:“无关紧要的authority”(附加权限)
Updateauth操作声明了不相关的权限'{" actor ":" testaccount1 ", "permission":" actie"};最小权限是{" actor ":" testaccount1 ", "permission":" the owner"}
updateauth(权限更新)操作查找一个不相关的权限'{“actor”:”testaccount1″,”permission”:”actie”}’;所需的最小权限是{“actor”:”testaccount1″,”permission”:”owner”}。当您试图更改帐户的所有者权限时,可能会发生此错误。如果要更改所有者密钥,则需要原所有者的授权。但是,如果没有指定授权选项,钱包通常会默认使用actie (actie)权限来签署事务,这不能满足执行的要求。
您可以将帐户权限视为一个树结构,其中**父级控制下面的所有子级权限,而每个级别控制下面的其余权限。
解决方案:确保使用正确的权限
无论你使用哪一个钱包,确保你用正确的钥匙签署了适当的行动。所有者具有***别,可以控制其下的所有权限。
专家提示
任何时候都要保证您的所有者密钥的安全性,并尝试使用活动密钥和低级密钥来授权操作。这样,如果您的密钥被盗,您可以使用所有者密钥来恢复您对帐户的控制。块生产商oting”(BP节点投票)
事务失败-生产者当前未注册
事务失败-节点当前未注册
有些用户可能在节点上设置了一次投票,然后就不再考虑它了。此时,我们需要检查投票节点是否仍然注册。如果遇到此错误,则表示您支持的某个节点已取消其节点业务。
解决方案:确保节点的业务仍在运行
可以在许多块浏览器上查看支持的节点的状态。如果您投票支持的节点的业务停止,您可以选择为另一个节点投票。
专家提示
还有一种情况是,节点的基础设施出现问题,需要临时注销才能修复。在重新检查30个节点投票之前,可以等待几个小时重新投票,看看是否报告了任何错误。错误6:“;自定义帐户名称;(自定义帐户名称)
消息断言失败:只有后缀可以创建此帐户
断言失败,消息显示:只有后缀可以创建此帐户
EOSIO链有一个名称空间拍卖的概念,允许用户拥有少于12个字符的奇特数字。然后用户可以使用这个名称空间来创建。子域名AMPL在;帐户。例如,如果您为com帐户拍照,您将拥有suffix.com的所有权,并可以创建诸如123.com和crypto.com这样的帐户。如果您创建一个没有对应名称空间的自定义帐户名,则会遇到此错误。
解决方案:拍摄相应的名称空间
您需要赢得拍卖才能获得名称空间。名称空间拍卖最多每24小时关闭一次,并且只有在整个24小时期间,所有名称空间中的出价**者才能收到他所出价的名称空间。您可以阅读本文以了解更多关于名称空间拍卖系统的信息。
专家提示
您还可以使用市场上现有的一些服务,直接从使用名称空间的人那里购买名称空间。错误7:“;账户余额不足;(账户内存不足)
事务失败-帐户使用超过分配的RAM使用,帐户testaccount1没有足够的RAM;需要4468字节有4382字节。
事务失败——该帐户使用的RAM比分配的多,并且该帐户testaccount1没有足够的RAM;它需要4,468字节,但只有4,382字节。
EOSIO链上的三个资源之一是RAM,它用于长期存储帐户数据。由于数据存储时间较长,账户需要购买数据,而不是通过抵押获得数据。
解决方案:购买更多内存
如果您遇到此错误,只需购买足够的RAM来满足您的事务需求。普通的钱包有一个功能。
专家提示
即使您交易帐户中的所有代币,该代币使用的RAM仍然不会释放。要释放RAM,您需要查看代币契约中是否有任何关闭。在调用close操作之后,释放相应的RAM。解决更多的错误
文章标题:如何解决EOSIO上的常见错误报告
文章链接:https://www.btchangqing.cn/28094.html
更新时间:2020年05月29日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。