truffle 如何知道我指的是哪个合约?

How does truffle know which contract I'm referring to?

在 运行 宁 truffle migrate 之后,我能够 运行(在控制台中)contract = await MyContractName.deployed()。我没有在主网上测试过,但我可以 运行 在测试网上使用相同的代码,truffle 知道我指的是哪个合约。

它怎么知道的?一定有其他合约与我的名字相同,有人可以详细说明 Truffle 是如何知道我指的是哪个合约吗?

您的合同不是由您提供的名称定义的。它由智能合约的地址定义,该地址将在部署(迁移)后由 truffle 存储在 build/contracts/{contract-name}.json 中。truffle 引用此文件作为地址,当您正在您的控制台中查询

有关详细信息,请查看此内容http://trufflesuite.com/docs/truffle/getting-started/interacting-with-your-contracts.html