在Starknet测试网声明示例合约时遇UNINITIALIZED_CONTRACT错误
Starknet合约声明报错StarknetErrorCode.UNINITIALIZED_CONTRACT的解决办法
问题描述
执行合约声明命令:
starknet declare --contract contract_compiled.json
时收到如下错误:
Got BadRequest while trying to access https://alpha4.starknet.io/feeder_gateway/simulate_transaction?blockNumber=pending. Status code: 500; text: {"code": "StarknetErrorCode.UNINITIALIZED_CONTRACT", "message": "Requested contract address [redacted] is not deployed."}
解决步骤
验证账户部署状态
声明合约依赖已部署的Starknet账户,执行starknet account show查看当前使用的账户信息,确认deployed字段为True。指定正确的已部署账户
若存在多个账户,需通过--account参数明确指定已部署的账户:starknet declare --contract contract_compiled.json --account your_deployed_account_name同时检查
starknet-config.json配置文件,确保默认账户指向已部署的地址。重新部署账户(若未部署)
若账户确实未部署,重新完成账户部署流程:- 生成新账户:
starknet new_account --account account_name - 通过Alpha4测试网水龙头给账户地址充值测试ETH
- 部署账户:
starknet deploy_account --account account_name
- 生成新账户:
测试网节点故障排查
Alpha4测试网偶尔会出现临时不稳定,可等待片刻后重试,或切换至其他第三方Starknet测试网节点执行命令。
内容的提问来源于stack exchange,提问作者Łukasz Kalbarczyk
相关产品推荐
相关产品推荐

