使用Rust(ink!)部署Near上的ERC721,调用mint函数遇JSON错误
Near网络ink! ERC721合约mint调用JSON解析错误解决方法
你遇到的SyntaxError: Unexpected token i in JSON at position 1错误,核心原因是PowerShell对引号的解析逻辑和类Unix终端不同,原命令里用单引号包裹JSON参数的方式在PowerShell中无法被正确识别为合法JSON。
解决步骤:
- 修正引号格式:将包裹JSON的单引号替换为双引号,同时对JSON内部的双引号进行转义,或者使用PowerShell的Here-String格式传递参数:
转义方式的命令:
Here-String方式的命令:PS C:\Users\aarsh\NFToken\flipper> near call dev-1674118357556-19282316843398 mint "{\"id\":\"1\"}" --accountId monish22PS C:\Users\aarsh\NFToken\flipper> near call dev-1674118357556-19282316843398 mint @" {"id":"1"} "@ --accountId monish22 - 检查账户ID有效性:原命令中
--accountId参数值为monish22.,末尾多了一个无效的点符号,需要去掉,确保使用合法的Near账户ID。 - 验证合约参数匹配:确认你的ink! ERC721合约中mint函数的参数定义是否仅需要
id,如果合约要求额外参数(比如接收者地址to),需要补充完整参数后再调用,避免后续出现参数不匹配的错误。
内容的提问来源于stack exchange,提问作者monish nagre
相关产品推荐
相关产品推荐

