松露部署的网络是最新的
Posted
技术标签:
【中文标题】松露部署的网络是最新的【英文标题】:Network up to date on truffle deploy 【发布时间】:2018-06-18 11:10:44 【问题描述】:我已经与solidity
和truffle
合作了几天来制定合同。我正在使用 Ganache 创建的网络进行测试,这是一个 RPC 客户端,用于构建本地区块链环境。
有一点我不明白。
我遵循以下步骤:
truffle deploy
。我在网络上部署我的合约。
truffle test
。我测试我的合同。没关系。
truffle deploy
。我尝试更新我的合同。告诉我“网络是最新的”
但是,如果我重新启动 Ganache 并使用 truffle deploy
更新我的合同,它就可以工作。这是我不明白的事情。
为什么?谁能给我解释一下?
【问题讨论】:
您在执行 truffle 命令时是否在运行ganache-cli
?如果您这样做,合同将部署在您的私有 ganache 网络中,我想如果您尝试再次部署相同的合同而不进行任何更改,它不会让您这样做,因为您将部署与您之前部署的合同相同的合同。
谢谢你的解释!我现在明白了!
你也可以通过运行truffle deploy --reset
来强制重新部署
@alvarofvr 我要补充一点,重新启动 Ganache 会创建一个新的空模拟环境,因此 truffle deploy
会再次开始工作。
【参考方案1】:
喜欢@Augusto Federico Lemble 在评论中解释:
“如果你这样做,合约部署在你的私有 ganache 网络中,我猜如果你尝试再次部署相同的合约,它不会让你做任何更改,因为你将部署相同的合约和你之前部署的一样”
对于像@Adam Kipnis 所说的正确重新部署,请使用:
truffle deploy --reset
【讨论】:
谢谢,这也是我的问题。但是,我为当前版本的 Truffle 做了以下操作:truffle migrate --reset --network ropsten
以上是关于松露部署的网络是最新的的主要内容,如果未能解决你的问题,请参考以下文章
合约尚未部署到 Rinkeby 网络上检测到的网络(网络/工件不匹配)