问题标签 [eris-blockchain]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
91 浏览

events - 有没有办法查看 Eris Blockchain 的所有区块上的所有事件?

有没有办法查看 Eris Blockchain 的所有区块上的所有事件?目前我已经设法订阅了一个特定的事件

合同

节点.js

我在 node.js 中的当前代码只是在创建事件时打印出一个事件。我正在尝试获取此合同 IdisContractFTW 创建的一系列事件。感谢您对此的建议。

这里的管理器对象是使用创建的

0 投票
0 回答
460 浏览

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

我对 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 中工作

非常感谢

0 投票
2 回答
177 浏览

smartcontracts - 无法使用 Eris / Monax 部署智能合约

我正在关注入门教程,使用 eris 版本 0.12.0

我停留在部署智能合约的地方 ~/.eris/apps/idi/idi.sol

随机我得到以下两个错误之一:

或者:

当我安装 eris 版本 0.11.4 时,错误如下所示:

我多次重新启动 Docker Quickstart Terminal 并删除了 VirtualBox 中的默认 VM。

我做错了什么?感谢帮助!

0 投票
1 回答
61 浏览

blockchain - 无法调用 erisdb.eventPoll rpc 调用

我的区块链在本地运行。我正在使用node-json-rpc模块进行 rpc 调用。我能够拨打几个电话,例如 erisdb.getBlockchainInfo。我尝试了erisdb.eventSubscribe调用:

它成功地向我返回了一个sub_id

我使用该sub_id来调用erisdb.eventPoll 调用:

但它给出了以下错误

我的 eris-db 版本是 0.12.1。

0 投票
1 回答
187 浏览

blockchain - Eris 区块链 - Monax 在部署智能合约时出错

我是区块链平台和 eris 的新手。尝试从这里 https://monax.io/docs/tutorials/getting-started/在我的 Mac OS 中启动并运行私有区块链

在部署智能合约之前一切都很好。在执行“eris pkgs do”命令时,出现以下错误。

执行动作。有时这可能需要一点时间 连接到节点时出错 (tcp://chain:46657) 以获取链 id:发布http://chain:46657 : dial tcp 198.105.244.228:46657: getsockopt: connection denied 无法执行 pkg操作服务:无法执行 pkg 操作:容器 interactive-73d789a8-4693-4a4c-bcf2-ae2005a12d23 以状态 1 退出

更新:我现在能够克服这个错误。遵循 docker 机器的 Mona 教程。

这将我带到了编译器错误(入门会话中的错误场景 6)。

现在低于错误。通过发出命令“docker-machine ls”从活动机器获取 IP 地址。

GinguVjs-MacBook-Pro:idi ginguvj$ eris pkgs do --chain simplechain --address $addr --compiler 192.168.99.101:2376 执行操作。这有时会在执行作业 defaultAddr 正在执行作业 setStorageBase 正在执行作业 deployStorageK 无法发送 HTTP 请求 发布 192.168.99.101:2376:不支持的协议方案“”错误编译合约:编译器错误:发布 192.168.99.101:2376:不支持的协议方案“”

无法执行 pkg 操作服务:无法执行 pkg 操作:容器 interactive-671e81dc-4a1b-4e1e-b1ad-b51d955297b1 退出,状态为 1 GinguVjs-MacBook-Pro:idi ginguvj$

0 投票
9 回答
22234 浏览

ethereum - Solidity 中的字符串数组

我遇到了一个很常见的问题,似乎我无法优雅有效地解决问题。

我必须将任意长字符串的任意长数组传递给solidity合约。

在我看来,它应该是这样的

但似乎无法做到。

我怎么解决这个问题?

0 投票
1 回答
68 浏览

javascript - 找不到方法:erisdb.call

嘿,我正在尝试使用该eris-contracts软件包与 monax 平台上的智能合约进行交互。

我曾经在区块链的 eris 版本中运行良好的合约,但是当我更新到新的 monax 版本时,我收到了这个奇怪的错误:

Eris DB error: Call of method "call" with parameters { from: '424FF9990BD1AD02CB7294914986E27343E702EB', address: '723388A1EA103460561FA1758CE4BBCD8322F9F6', data: 'a5f3c23b00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000016' } responded with "Method not found: erisdb.call".

我尝试制作一个非常简单的合约(使用 add 方法)并尝试调用它。但是每当我尝试调用合同上的任何方法时:

我得到了上述错误。

我一直在关注网站上的Smart Contracts JS SDK,只是为了确保在升级到 monax 时没有语法更改。

区块链安装本身看起来并没有什么问题,因为运行 epm.yaml 确实给出了预期的结果。

这是合约启动代码:

以下是不同作品的版本:

  • eris 合同:0.15.12
  • 莫纳克斯:0.16.0
  • 坚固性:0.40.0
  • 节点:8.1.0
  • npm:5.0.3