问题标签 [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.
events - 有没有办法查看 Eris Blockchain 的所有区块上的所有事件?
有没有办法查看 Eris Blockchain 的所有区块上的所有事件?目前我已经设法订阅了一个特定的事件
合同
节点.js
我在 node.js 中的当前代码只是在创建事件时打印出一个事件。我正在尝试获取此合同 IdisContractFTW 创建的一系列事件。感谢您对此的建议。
这里的管理器对象是使用创建的
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 中工作
非常感谢
smartcontracts - 无法使用 Eris / Monax 部署智能合约
我正在关注入门教程,使用 eris 版本 0.12.0
我停留在部署智能合约的地方 ~/.eris/apps/idi/idi.sol
随机我得到以下两个错误之一:
或者:
当我安装 eris 版本 0.11.4 时,错误如下所示:
我多次重新启动 Docker Quickstart Terminal 并删除了 VirtualBox 中的默认 VM。
我做错了什么?感谢帮助!
blockchain - 无法调用 erisdb.eventPoll rpc 调用
我的区块链在本地运行。我正在使用node-json-rpc模块进行 rpc 调用。我能够拨打几个电话,例如 erisdb.getBlockchainInfo。我尝试了erisdb.eventSubscribe调用:
它成功地向我返回了一个sub_id:
我使用该sub_id来调用erisdb.eventPoll 调用:
但它给出了以下错误:
我的 eris-db 版本是 0.12.1。
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$
ethereum - Solidity 中的字符串数组
我遇到了一个很常见的问题,似乎我无法优雅有效地解决问题。
我必须将任意长字符串的任意长数组传递给solidity合约。
在我看来,它应该是这样的
但似乎无法做到。
我怎么解决这个问题?
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