(Cadence) 尝试部署到 Flow 测试网时出现“部署包含不存在的合同”错误

问题描述

我正在尝试将 hello world 智能合约部署到测试网。这是我要部署的合同:

./contracts/NonFungibletoken.cdc

pub contract NonFungibletoken {
    // Declare a stored state field in HelloWorld
    //
    pub let greeting: String

    // Declare a function that can be called by anyone
    // who imports the contract
    //
    pub fun hello(): String {
        return self.greeting
    }

    init() {
        self.greeting = "Hello World!"
    }
}

这是我的配置文件(flow.json):

  {
    "emulators": {
        "default": {
            "port": 3569,"serviceAccount": "emulator-account"
        }
    },"contracts": {
    "NonFungibletoken": "./contracts/NonFungibletoken.cdc"
  },"networks": {
        "emulator": "127.0.0.1:3569","mainnet": "access.mainnet.nodes.onflow.org:9000","testnet": "access.devnet.nodes.onflow.org:9000"
    },"accounts": {
        "emulator-account": {
            "address": "f8d6e0586b0a20c7","key": "privatekey"
        },"testnet-account": {
          "address": "0x2ca684c2732d60e6","key": "privatekey"
        }
    },"deployments": {
    "emulator": {
      "emulator-account": [
        "NonFungibletoken"
      ]
    },"testnet": {
      "testnet-account": [
        "NonFungibletoken"
      ]
    }
  }
}

当我尝试部署时,这是我得到的错误

MacBook-Air:nft-app alberthu$ flow project deploy
❌ Config Error: deployment contains nonexisting contract NonFungbiletoken

有人知道如何解决这个问题吗?

解决方法

啊,问题是我需要添加 --network=testnet 标志

flow project deploy --network=testnet

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...