You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rust导入erc721 crate报错:no external crate `erc721`求助

解决Soroban合约中导入erc721失败的问题

问题原因

你用的erc721 crate是为以太坊EVM环境开发的,依赖Rust标准库(std),但Soroban智能合约要求禁用标准库(#![no_std]),且运行在Stellar的Wasm执行环境中,和以太坊环境完全不兼容,所以没法直接导入使用。

解决方案

改用适配Soroban SDK的ERC721实现,步骤如下:

  1. 更新Cargo.toml中的依赖,把原有的erc721替换为soroban-erc721(版本尽量和soroban-sdk保持一致):
[dependencies]
soroban-sdk = "0.9.2"
soroban-erc721 = "0.9.0"
  1. 在lib.rs里导入适配后的crate:
#![no_std]
use soroban_sdk::{contract, contractimpl, symbol_short, vec, Env, Symbol, Vec};
// 导入Soroban兼容的ERC721实现
use soroban_erc721::{Erc721, Erc721Client};
  1. 执行依赖更新命令:
cargo update

重新编译合约后,导入错误就能解决,你也可以正常调用mint等ERC721方法。

内容的提问来源于stack exchange,提问作者Lukas Luke Stateczny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 12:55:04