gpt4 book ai didi

smartcontracts - 为什么像signer_account_id这样的Env变量会导致错误: ProhibitedInView?

转载 作者:行者123 更新时间:2023-12-04 13:09:21 25 4
gpt4 key购买 nike

对于执行以下操作的简单 View 函数,我收到 ProhibitedInView 错误

export function getInfo(): Info {
const caller = context.sender
return infos.getSome(caller)
}
并意识到这是因为 context.sender称呼。
我的假设/理解是,只要 tx 不改变状态,它们就可以被视为 ViewFunctions。
我在 Potential Gotchas 上发现了一个警告。 ,但是为什么下面的函数会导致 View 函数失败呢? “从近核公开的绑定(bind)方法”是什么意思?
  • signer_account_id
  • signer_account_pk
  • 前身_账户_id
  • 最佳答案

    view 的上下文中功能,没有这样的事情:

  • signer_account_id
  • signer_account_pk
  • predecessor_account_id

  • 运行 View 函数不需要对任何消息进行签名,而且是不允许的。这更像是匿名检查契约(Contract),不应该为此付出任何代价,并且结果与调用者无关。因此没有 signer_account_idsigner_account_pk .
    另一方面,如果您在查看模式下发起此调用,则无法进行跨合约调用。因此没有 predecessor_account_id可用,因为 signer_account_id不可用,并且不可能从另一个合约调用。

    关于smartcontracts - 为什么像signer_account_id这样的Env变量会导致错误: ProhibitedInView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67313056/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com