【问题标题】:Truffle error: Error encountered, bailing. Network state unknown. Review successful transactions manually松露错误:遇到错误,保释。网络状态未知。手动查看成功的交易
【发布时间】:2017-11-01 00:56:31
【问题描述】:

每次我尝试部署 truffle migrate --reset 我的 Organization.sol 合约时,都会收到以下错误

Error encountered, bailing. Network state unknown. Review successful transactions manually.

我在 Google 上搜索了该错误,显然这是由于合同规模所致。我的 Organization.sol 甚至没有那么大。我以前见过更大的合同。

这是我的合同:https://github.com/ulixir/eth-task-contracts/blob/master/contracts/Organization.sol

有什么线索吗?

【问题讨论】:

  • 它适用于 StandardToken.sol 和松露版本 v4.0.0-beta.2。
  • 一个提示:当你在 truffle.js 中设置 gas: 4700000 (ropsten 限制) 用于开发。您可以为本地 ganache-cli 部署重现它吗?如果是这种情况,那肯定是合同规模。与此同时,您的 github 链接似乎已关闭...

标签: javascript ethereum solidity truffle web3


【解决方案1】:

您是否也看到了这个错误Error: insufficient funds for gas * price + value 的错误?在这种情况下,您尝试使用的以太坊帐户可能没有足够的以太币来执行迁移。
可以通过从 geth 控制台调用 miner.start() 或使用 genesis.json 文件将以太币分配给帐户来将以太币添加到帐户中。你可以阅读更多关于它的信息here

如果您决定使用创世文件,请在将数据分配到您的以太坊帐户后执行以下步骤:
1. 使用geth --datadir "<your datadir>" removedb删除旧的geth db。
2.使用修改后的创世文件geth <your other params here> init <yourGenesisFile>重新初始化你的geth节点
3. 在新节点的geth控制台中,确保你启动了矿工miner.start()

完成后,再次尝试迁移,它现在应该可以工作了。

如果您决定在不修改创世文件的情况下开采以太币,请开始开采并给您的以太坊账户一些时间来开采足够的以太币。这需要多长时间?........这取决于您在创世文件中设置的难度级别。

【讨论】:

    【解决方案2】:

    当您使用此命令 truffle migrate --reset 时,它正在尝试使用您的 Organization.sol 部署 Migration.sol 合约。您可以在迁移文件夹中看到迁移脚本 .错误Error encountered, bailing. Network state unknown. Review successful transactions manually.表示它无法确定部署了哪些合约。并告诉您手动检查。要检查部署了哪些合约,您可以使用此命令truffle network

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-27
      • 2020-04-19
      • 2020-07-09
      • 2017-08-30
      • 1970-01-01
      • 1970-01-01
      • 2019-09-27
      • 2014-10-09
      相关资源
      最近更新 更多