与Kaleido部署simpleStorage合同

时间:2018-05-31 13:08:53

标签: truffle quorum kaleido

我一直在按照本教程将我使用Kaleido UI创建的联盟连接到松露:link。当我最终做的时候:./ uxffle_migrate.sh  它被卡在那里,这是输出:

  

$ ./truffle_migrate.sh   + truffle migrate --network supnode --reset使用网络'supnode'。

     

正在运行迁移:1_initial_migration.js保存工件......正在运行   迁移:2_deploy_simplestorage.js部署SimpleStorage ...
  ... 0xd6d9cfe1ab5b01abb759fb8280920d8f7ba0cef73340af22e47a9c7e40120c14

我不明白问题在哪里,我确定我已经仔细地遵循了教程,并且我已经创建了相同的场景..如果有人有任何想法我会很感激。感谢。

1 个答案:

答案 0 :(得分:0)

因此,我逐步尝试重新创建您的场景 - 运行Quorum + Raft的3个节点以及节点1和节点之间的私有事务。 3.

在最初的迁移尝试中,我遇到了与您观察到的相同的挂起状态。对块浏览器的检查显示两个合同都已实际部署,但是都没有被调用(即没有通过迁移文件为简单存储设置状态)。

然后我更改了truffle_migrate.sh文件以定位原始的privateFor节点(3)并使用原始目标节点(1)作为新的privateFor接收者。这立即起作用。问题是为什么:)

Truffle有时很挑剔,特别是在私人交易中使用RAFT时。

我建议:

  1. 检查您的块资源管理器,以确保与网络的连接成功并且已部署合同。
  2. 终止正在运行的迁移过程,然后重新启动它。
  3. 如果这不起作用,请尝试我描述的翻转过程。
  4. 我很好奇是否与瞄准RAFT领导者存在关联,或者有时松露只需要一些额外的推动。我们会调查。

    仅供参考我最初尝试使用公共事务并使用仅包含单个节点的truffle.js文件。这也立即起作用。所以我的假设是私人交易和RAFT有一些微妙的方法。

    与此同时,这应该给你一个潜在的解决方法;您只需将原始迁移和简单存储合同作为您环境中的孤儿。