如何使用 NEAR 的 `/sign_url` REST API 铸造 NFT?

How to mint an NFT using `/sign_url` REST API of NEAR?

我们正在 NEAR 区块链中构建一个市场。目前正在整合 mint 功能。

我们已经构建了一个 NFT 合约并部署到我们的测试网账户。参考:https://examples.near.org/NFT

我们需要 /sign_url API 方面的帮助。它使用提供的交易详细信息生成 link 到 NEAR 钱包。可用于将用户重定向到钱包并执行交易,而无需生成特定于应用程序的密钥并授予访问权限:

我们使用 /sign_url API 生成了批准交易 URL:

通过打开并签署生成的批准交易 URL 并收到此错误:

{"index":0,"kind":{"ExecutionError":"Smart contract panicked: panicked at 'assertion failed: `(left == right)`\n left: `\"mamba11.testnet\"`,\n right: `\"mamba-marketplace-v1.testnet\"`: Unauthorized', /home/gitpod/.cargo/registry/src/github.com-1ecc6299db9ec823/near-contract-standards-3.2.0/src/non_fungible_token/core/core_impl.rs:348:9"}} 

请帮助我们解决这个错误。

我在 nft_mint() 中使用 mint 函数时遇到了同样的问题。解决方案是根据此示例将 mint 函数更改为 internal_minthttps://github.com/near/near-sdk-rs/blob/master/examples/non-fungible-token/nft/src/lib.rs#L99 ,而不检查第 98 行的 owner_id!此外,您还需要将 near-sdk 版本更改为 > 4.0.0,并将 near-contract-standarts 更改为 > 4.0.0。我将 receiver_id 类型从 ValidAccountId 更改为 AccountId。

这是描述 internal_mintmint 函数 https://github.com/near/near-sdk-rs/blob/master/near-contract-standards/src/non_fungible_token/core/core_impl.rs#L325

的文档