Nearprotocol 返回环境帐户id时出错';s

Nearprotocol 返回环境帐户id时出错';s,nearprotocol,Nearprotocol,如果我有以下方法来测试precedure\u account\u id行为 pub fn get_pred_acc(&self) -> (String { let prev_acc = env::predecessor_account_id().to_string(); return prev_acc; } 试着从前端呼叫这个 const contract = await this.near.loadContract(window.nearConfig.contr

如果我有以下方法来测试
precedure\u account\u id
行为

pub fn get_pred_acc(&self) -> (String {
    let prev_acc = env::predecessor_account_id().to_string();
    return prev_acc;
}
试着从前端呼叫这个

const contract = await this.near.loadContract(window.nearConfig.contractName, {
  viewMethods: ["get_pred_acc", ],
  changeMethods: [],
  sender: this.accountId,
});

const acc = await contract.get_pred_acc();
我得到以下错误:

未捕获(承诺中)错误:查询调用/流量协议/获取帐户id失败:wasm执行失败,错误为:FunctionCallError(HostError(ProhibitedView(“前置帐户id”))。
{“错误”:“wasm执行失败,错误为:FunctionCallError(HostError(ProhibitedInView(\“前置帐户\u id\”))”,
“日志”:[]
}


这是视图调用的预期行为

视图调用没有特定的上下文信息,这些调用不是实际事务的一部分

目前,查看视图调用中禁止哪些方法的最佳选择是查看测试:

总结如下:

  • 以前的帐户信息和密钥(签名者、前置者和签名者\u公钥)
  • 气体信息
  • 所有承诺方法,因为它们涉及其他合同