如何在Eris(Monax)中将智能合约部署到不同的链中

时间:2016-11-16 18:01:58

标签: blockchain smartcontracts eris

我和Eris(Monax)有问题。我按照Eris的教程 https://monax.io/docs/tutorials/getting-started/

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

现在我想创建另一个名为simplechain3的链,以便2个链可以同时运行,然后,我想部署这个合同idi或另一个合同(如果我想创建新的合同)这个新的链simplechain3。 我可以创建新的simplechain3但我无法将此合同或其他合同部署到这个新的链simplechain3。它总是针对旧链简单链。

以下是我输入的命令: eris chains make --account-types = Root:3,Full:2 simplechain3

eris chains start simplechain3 --init-dir simplechain3_full_000 --ports = 1428,47000,47001

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

一切都很好,我通过这个命令检查了一下 eris chains ls 输出: *链接容器ID数据容器 simplechain3 * b4cecde58c 965309c59f simplechain * e3868c82b0 38dd9d37fa *

使用此命令: docker ps

输出 集装箱ID图像命令创建状态端口名称 b4cecde58cfb quay.io/eris/db:0.12.0" eris-db serve" 35秒前Up 33秒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:46656-46657->46656-46657/tcp simplechain-7f87110d-1323-4c97-bc70-a0ae971c4960 18f16072cb1f quay.io/eris/keys:0.12.0" eris-keys server --h" 19小时前上传44分钟4767 / tcp keys-b46408a1-fe29-4205-ac51-878b487d8f78

然后,其他命令 * chain_dir_3 = $ HOME / .eris /连锁/ 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 do --chain simplechain3 --address $ addr3 --file ./epm.yaml *

输出错误:

执行操作。这有时可能需要一段时间 执行Job defaultAddr 执行Job setStorageBase 执行Job deployStorageK 回复abi = [{"常数":false,"输入":[{"名称":" x","类型& #34;:" uint256"}],"名称":"设置""输出":[],"类型& #34;:"功能"},{"恒定":真,"输入":[],"名称":&#34 ;获得""输出":[{"名称":" retVal的""类型":" uint256&# 34;}],"类型":"功能"}]                                           斌= 606060405260978060106000396000f360606040526000357c01000000000000000000000000000000000000000000000000000000009004806360fe47b11460415780636d4ce63c14605757603f565b005b605560048080359060200190919050506078565b005b606260048050506086565b6040518082815260200191505060405180910390f35b806000600050819055505b50565b600060006000505490506094565b9056                                          名称= IdisContractsFTW 部署合同名称= IdisContractsFTW 等待事件的遇到错误:等待事件超时                                          ADDR = 796AA808A90DFA52D2502CFCA7803BFBBDC030CD 执行Job setStorage 弃用警告:使用'数据'字段指定合同函数的名称已被弃用。请更新您的epm作业文件,以结合使用'功能'和'数据'而是改为。有关详细信息,请参阅文档 等待事件的遇到错误:等待事件超时 执行Job queryStorage 弃用警告:使用'数据'字段指定合同函数的名称已被弃用。请更新您的epm作业文件,以结合使用'功能'和'数据'而是改为。有关详细信息,请参阅文档 错误连接到节点(tcp:// chain:46657)以查询合同(796AA808A90DFA52D2502CFCA7803BFBBDC030CD)和数据(6D4CE63C)%!(EXTRA string = Account 796aa808a90dfa52d2502cfca7803bfbbdc030cd不存在) 无法执行pkg操作服务:无法执行pkg操作:Container 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

工作

非常感谢

0 个答案:

没有答案