Starknet部署账户后declare报错UNINITIALIZED_CONTRACT:地址前导0丢失如何解决?
解决Starknet合约地址前导0导致的未部署错误
检查账户配置文件
找到~/.starknet_accounts下对应account1的配置文件,确认其中的合约地址是完整的0x065a8e85b4925865ad129eb51a14d5eee65864fa919d1b1ef4ada89946863309格式,避免工具自动截断前导0。手动指定完整地址执行命令
执行starknet declare时,直接传入完整的账户地址,绕过配置文件可能的格式问题:
starknet declare --contract <你的编译合约文件名>.json --account 0x065a8e85b4925865ad129eb51a14d5eee65864fa919d1b1ef4ada89946863309
- 确认账户部署交易状态
查询部署账户的交易哈希,确保交易已在L2确认完成:
starknet get_transaction --hash <你的部署交易哈希>
只有交易状态显示ACCEPTED_ON_L2,才说明账户合约真正完成部署。
- 升级starknet-cli版本
旧版本工具可能存在地址格式处理的bug,执行升级命令修复:
pip install --upgrade starknet-cli
内容的提问来源于stack exchange,提问作者RaphaelNdonga
相关产品推荐
相关产品推荐

