问题标签 [hyperledger-sawtooth]

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 回答
80 浏览

data-management - 我的超级账本锯齿验证器存储空间不足

有没有办法在保持数据一致的同时将数据移出分类帐?

0 投票
1 回答
83 浏览

hyperledger-sawtooth - 无法从我的事务系列的 REST-API 接收数据

如果我想从 XO 家族获取数据,我会

这很好用,但是如果我尝试自己请求:

但我的交易在区块链中:

我的有效载荷列在区块链中。我究竟做错了什么?

0 投票
1 回答
139 浏览

cryptography - 像以太坊地址一样保持 Sawtooth 公钥“公开”是个好主意吗?

假设,给定属于一家公司的代理,拥有自己的一对公钥/私钥,您希望有信心地证明确实是属于该公司的代理通过特定交易写入了区块链上的数据。在Ethereum中,您可以在公司网站上发布您的地址,而在Sawtooth中,我该怎么做?是否可以使用公钥或者出于安全原因这不是很好?这是Sawtooth的合适用例吗?

0 投票
2 回答
351 浏览

javascript - State Hash Root 问题(即)Validator 不加块

客户端调用rest-api,然后将数据发送到验证器,交易处理器和验证器进行对话,最后验证器处理交易并创建一个块。此时,在我的情况下,它显示以下错误日志:

实际预期结果是:应该创建块并添加到区块链

0 投票
1 回答
497 浏览

hyperledger-sawtooth - 创建 Hyperledger Sawtooth 网络

我正在使用 Docker 映像设置多节点 Hyperledger Sawtooth 网络。我能够在 3 个 AWS 虚拟机上启动 Sawtooth 验证器、设置 TP 和 intkey TP,但是验证器无法相互连接。我收到以下错误:

尝试删除连接 OutboundConnectionThread-tcp://3.xxx.xxx.xxx:8800 的 send_message 函数,但未注册 send_message 函数 WARNING dispatch] Attempted to remove send_last_message function for connection OutboundConnectionThread-tcp://3.xxx.xxx .xxx:8800,但未注册 send_last_message 函数

解决该问题的任何指示都会非常有帮助。谢谢!

0 投票
1 回答
112 浏览

blockchain - 由于队列已满,验证器当前无法接受更多批次。请再次提交您的请求

我正在从 CSV 文件中读取数据并将每条记录存储在区块链中。上传超过 150 条记录的文件时出现错误:

“由于队列已满,验证器目前无法接受更多批次。请再次提交您的请求。”

请帮助我如何解决这个问题。

0 投票
1 回答
226 浏览

cryptography - 如何在 Hyperledger Sawtooth 中安全地保存私钥?

我已经看到,在已发布的项目(如供应链)中,使用链下数据库来保存用户的信息和状态数据。是否可以避免使用这个数据库来保存用户信息或者是锯齿应用程序的隐含模式?

0 投票
1 回答
92 浏览

hyperledger-sawtooth - 如何解决 ST 1.1.2 中的随机无效创世块?

我用 docker 安装了 ST 1.1.2,但结果不一致。有时创世块生成得很好,我可以提交新的批次/块。另一方面,有时开发模式处理器由于“失败”的共识数据而不会处理创世块。

我在几个 AWS Ubuntu 16.04 实例上运行了这个,具有相同的随机行为。我还使用 Ubuntu 本地安装了 1.1.2,但遇到了同样的问题,只是始终如一。

我希望创世块每次都得到验证,而不是大约 50% 的时间发生,即使我没有改变我启动 docker 容器的方式。为了让 devmode 共识过程在第一次尝试时始终接受创世块,我需要做什么?

0 投票
3 回答
335 浏览

java - Sawtooth 1.1.2 将块添加到创世块时,“由于无效的前任而被拒绝”

我无法将新块添加到链中,因为锯齿验证器默认值正在报告: [2019-01-25 18:18:54.029 WARNING block_validator] Block 7f3...370e (block_num:1, state:c3a...954, previous_block_id:0d8...09d) failed validation: Block 7f3...370e (block_num:1, state:c3a...954, previous_block_id:0d8...09d) rejected due to invalid predecessor 0d8...09d (block_num:0, state:66e...ee1, previous_block_id:0000000000000000)

我猜这是一个时间问题,因为它刚刚开始发生并且在同事的环境中仍然可以正常工作。

今天早上我尝试运行以下操作序列 7 次:

  1. 码头工人-撰写下来
  2. gradle clean build fatJar docker
  3. 码头工人组成 --build
  4. GET localhost:8008/blocks --> 1 块如预期
  5. POST locApplication 到链
  6. GET localhost:8008/blocks --> 显示是否添加了块...
  7. 获取 localhost:20005/api/v1/lettersofcredit/applications/?id=d26...f2d

作品?Y|N|N|Y|Y|Y|N

我没有看到来自 settings_tp 的任何输出,仅来自默认验证器。每次新块提交返回 202 ACCEPTED。

我在开发人员模式下运行,使用 docker-compose 在单个 Ubuntu 18.0.4 VM 上运行所有容器。这是 docker-compose.yaml:

任何有关我如何调试此问题的建议都将不胜感激。谢谢。

0 投票
1 回答
68 浏览

dynamic - 超级账本项目中对动态共识的需求是什么

我读到超级账本锯齿支持动态共识,意味着共识算法可以动态改变。我的问题是什么时候需要动态改变共识?是什么迫使我们动态地改变共识?

我阅读了 Fabric 和 Sawtooth 文档。找不到动态共识的必要性