问题描述
我正在尝试将 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