near-api-js: 没有发件人账户的合约连接

near-api-js: Contract connection with no sender account

有没有一种方法可以在没有签名者的情况下初始连接到合同?我想创建一个用户流,用户可以在其中通过查看调用进行探索,然后选择稍后连接他们的钱包。

我能找到的大多数合约连接代码示例都包含钱包连接帐户。 docs github docs

是的!您可以使用 near-api-js.

中的 providers 查询帐户状态

示例:

const { providers } = require("near-api-js");
const provider = new providers.JsonRpcProvider("https://rpc.testnet.near.org");

getState();

async function getState() {
  const rawResult = await provider.query({
    request_type: "call_function",
    account_id: "guest-book.testnet",
    method_name: "getMessages",
    args_base64: "e30=",
    finality: "optimistic",
  });

  const res = JSON.parse(Buffer.from(rawResult.result).toString());
  console.log(res);
}

https://docs.near.org/docs/api/naj-cookbook#read-state-without-an-account