0

我对 Eris (Monax) 有疑问。我遵循 Eris 的教程 https://monax.io/docs/tutorials/getting-started/

一切都很好。我成功地创建、实例化了一个名为 simplechain 的区块链,并部署了一个名为 idi 的智能合约(完全在教程中)

现在我想创建另一个链,称为 simplechain3,以便 2 个链可以同时运行,然后,我想部署这个合约 idi 或另一个合约(如果我想创建新的)这个新链 simplechain3。我可以创建新的 simplechain3,但我无法将这个合约或另一个合约部署到这个新的链 simplechain3。它始终针对旧链 simplechain。

这是我输入的命令: erischains make --account-types=Root:3,Full:2 simplechain3

eris 链启动 simplechain3 --init-dir simplechain3_full_000 --ports=1428,47000,47001

(我必须为这个链创建新的端口。如果没有,则会出现错误,因为端口 46657 已经被旧的简单链占用)

一切都很好,我通过这个命令检查了它 erischains ls 输出:*CHAIN ON CONTAINER ID DATA CONTAINER simplechain3 * b4cecde58c 965309c59f simplechain * e3868c82b0 38dd9d37fa*

使用这个命令: docker ps

输出 容器 ID 图像命令创建的状态端口名称 b4cecde58cfb quay.io/eris/db:0.12.0 "eris-db serve" 35 秒前 Up 33 seconds 0.0.0.0:1428->1337/tcp, 0.0.0.0:47000-> 46656/tcp, 0.0.0.0:47001->46657/tcp simplechain3-422e5ebf-6149-46d7-963d-ddbb33104ac4 e3868c82b07d quay.io/eris/db:0.12.0 "eris-db serve" 19 小时前 25 分钟 0.0 .0.0:1337->1337/tcp, 0.0.0.0:46656-46657->46656-46657/tcp simplechain-7f87110d-1323-4c97-bc70-a0ae971c4960 18f16072cb1f quay.io/eris/keys:0.12.0"密钥服务器--h"19 小时前 44 分钟 4767/tcp keys-b46408a1-fe29-4205-ac51-878b487d8f78

然后,其他命令 *chain_dir_3=$HOME/.eris/chains/simplechain3 chain_dir_this_3=$chain_dir_3/simplechain3_full_000 addr3=$(cat $chain_dir_3/addresses.csv | grep simplechain3_full_000 | cut -d ',' -f 1) eris pkgs --chain simplechain3 --address $addr3 --file ./epm.yaml *

输出错误:

执行动作。这有时会在执行作业时需要一点时间 defaultAddr 执行作业 setStorageBase 执行作业 deployStorageK 响应 abi=[{"constant":false,"inputs":[{"name":"x","type":"uint256"}] ,"name":"set","outputs":[],"type":"function"},{"constant":true,"inputs":[],"name":"get","outputs" :[{"name":"retVal","type":"uint256"}],"type":"function" 等待事件时遇到错误:超时等待事件 addr=796AA808A90DFA52D2502CFCA7803BFBBDC030CD 执行作业 setStorage 弃用警告:使用“数据”字段来指定合约函数的名称已被弃用。请更新您的 epm 作业文件以改用“功能”和“数据”字段的组合。有关更多详细信息,请参阅文档。 等待事件时遇到错误:等待事件超时 执行作业查询存储弃用警告:使用“数据”字段来指定合约函数的名称已被弃用。请更新您的 epm 作业文件以改用“功能”和“数据”字段的组合。有关更多详细信息,请参阅文档。 连接到节点 (tcp://chain:46657) 以在 (796AA808A90DFA52D2502CFCA7803BFBBDC030CD) 查询合约时出错,数据 (6D4CE63C)%!(EXTRA string=Account 796aa808a90dfa52d2502cfca7803bfbbdc030cd 不存在) 无法执行 pkg 操作服务:无法执行 pkg 操作服务:无法执行容器 interactive-808a8aa8-09cb-4b9f-ae3a-b77158681c21 以状态 1 退出

你能帮我解决这个问题吗?如何将合约部署到另一条链上?我已经用另一个合同测试过它,它是一样的。

文件 epm.yaml 的内容在教程中 https://monax.io/docs/tutorials/getting-started/#step-3-2-fixup-your-epm-yaml

而且合约的内容也在教程里 https://monax.io/docs/tutorials/getting-started/#step-3-1-make-a-contract-for-idi

对于另一份合同,也出现了同样的问题。

我在 Linux Ubuntu 16.04、Eris 0.12.0、docker 1.12.3 中工作

非常感谢

4

0 回答 0