问题标签 [decentralized-applications]
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.
blockchain - 有没有办法访问在 Ganache 中用于部署过程的帐户?
我正在构建一个去中心化的应用程序,嵌入式智能合约包含一个函数,该函数只能由智能合约的所有者(即启动部署过程的帐户)调用。我正在使用 Ganache,它带有 10 个预定义帐户。据我所知,用于部署的地址是该帐户列表中的第一个地址,因此我使用 web3.eth.getAccounts() 返回的第一个地址作为参数调用该函数。但有一个问题。当我从 Metamask 更改帐户时,web3.eth.getAccounts() 会更改其值,第一个地址是 Metamask 中的地址。如何在不使用 web3.eth.getAccounts() 的情况下获取用于部署的帐户?
uml - 区块链应用架构:UML 和用例
对于我的实习,我需要实施一个基于区块链的解决方案来管理药品供应链。该供应链的管理意味着要跟踪和追踪(地理定位)链上的药物,还要监控储存温度以查看冷链是否受到尊重。为此,我创建了我的 Dapps ( https://balsamiq.cloud/sum5oq5/p8lsped ) 的 POC 模型,并且我想通过执行 UML 和用例来为自己做好准备。但是,除了两篇截然不同的文献外,我没有找到很多关于区块链的UML和用例的信息,所以我不知道我所做的是否正确......
我的 Dapps 的用户将是以下几个:
- 利益相关者(制造商、分销商和零售商)将使用 Dapps 下订单并对其进行监控。他们还可以在历史上搜索特定的顺序。最后,它们通过物联网传感器更新订单条件(温度和位置)。
- 负责更新 Dapp 及其规则的管理员。还可以添加或删除用户,同时定义他们在区块链上的权限(我打算使用许可的区块链)。最后,如果出现技术问题,他们也会在这里提供帮助。
我正在考虑的 Dapps 在以下方面起作用:
- 用户,即客户,可以向某个卖家下订单(产品列表)并选择订单的最终目的地。
- 然后将订单放在一起,然后在利益相关者(分销商或零售商)之一的仓库中发货或储存,并说明产品的储存和/或运输条件(例如,产品必须以温度低于 5°C 的房间)。在运输和存储期间,IOT 设备将通过每 5-10 百万次更新数据来为液滴提供产品的温度和地理位置。显然,它们将是一个允许所有用户查看传递的订单历史并在特定订单中搜索的功能。
- 如果温度不符合建议的温度,则智能合约会发送警报。同样,如果产品的搭配“奇怪”,比如在一些欧洲国家而不是在亚洲国家,智能合约将再次发出警报。最后,如果产品被客户发送到要求的位置,那么订单的钱将支付给卖家。
所以根据我的解释,我来到这里是希望有人告诉我我所做的用例和 UML 是否正确。
我提前感谢任何愿意花时间帮助我的人。
blockchain - 实际的区块链状态数据存储在哪里:内存、文件还是数据库?
我有一个查询,每个节点中保存的区块链数据在哪里。在谷歌、StackOverflow 和一些博客中搜索了很长时间后,得到了很多答案:比如:它保存在像 level-DB 或 Rocks-DB 这样的数据库中,有人说它保存在内存中的变量中,有人说它保存在一个变量中文件(来自 hyperledger-fabric)。
我想知道,是否有一种特殊的存储块的方法,大多数区块链框架都遵循这种方法?
或者所有这些框架都选择不同的方法(如文件、内存或数据库)。
我知道区块链的当前状态/世界状态保存在数据库中。这种当前状态/世界状态与实际的区块链完全不同。在当前状态或世界状态下,数据是可以修改的,但在实际的区块链区块/数据中是不可变的。
简而言之,我的问题是:
数据(不可变块)如何存储在区块链中每个完整节点的分类帐上?它是在内存中,在文件中(如 JSON、CSV 文件)还是在数据库中
hyperledger-fabric - Hyperledger Fabric 节点 SDK 服务器部署
我想澄清我对 Hyperledger Fabric 及其去中心化的一些困惑。
在生产中,我希望有一个 React 网站,也许还有一个 React Native 应用程序来访问区块链,以及大约 3 或 4 个具有多个对等点和渠道的组织。¿ 我把服务器放在哪里?
据我所知,需要SDK服务器在客户端和一个对等方之间创建“网关”或连接,但我不明白该服务器在架构中的位置。我的意思是,¿在一个 PaaS 平台上只部署了一台服务器?¿ 它驻留在客户端?¿ 或者在每个组织或每个对等方中都有一个部署?
如果我在单一平台上部署服务器,¿我不会集中网络?
正如我所说,这个问题是为了让我弄清楚有关 Hyperledger Fabric 的一些事情。
javascript - “返回错误:所需的气体超过限额 (123965250) 或总是失败的交易”在估计 Kyber '贸易' 合约功能的气体时
我试图通过调用Kyber 交换合约.estimateGas()
的功能来估算 gas。trade
我试过estimateGas()
不带参数和带(如上所示)。然后我在文档中发现您可能必须先调用approve
ERC20 合约,所以我也这样做了(取自文档并修改为适合):
- 1 - BN = "34950159783737063"
- 5 - BN = "2762660877769768"
我不断收到“返回错误:所需气体超过限额 (123965250) 或交易总是失败。”。我已经没有办法解决这个问题了。我希望该错误能够更准确地描述问题所在。我认为函数本身很可能会引发错误,但不知道是什么或为什么。我可以调用交换合约来获取汇率,所以系统的其余部分都在工作,而不是估计气体的部分。
upgrade - 如何将 Filecoin Lotus 升级到最新版本?
我正在运行一个 Lotus 守护程序,并且一个新版本被推送到 master。如何升级到最新版本?
flutter - 颤振和以太坊:未处理的异常:RangeError:值不在范围内:32
我正在尝试用颤振和以太坊制作一个简单的去中心化应用程序。但我不断收到这个错误。它工作正常。请看看我的代码和我的错误
我用 :
- 扑
- 重新混合以太坊
- MetaMask => 林克比
- Infua.io
问题:为什么我会收到此 RangerError?
坚固性
扑
错误
结论 请看一下我的代码,我期待看到您的所有答案。先感谢您。
blockchain - Solidity:在依赖于参数的查找后,由于找不到成员“余额”或不可见而出现错误
我正在尝试编写一个去中心化应用程序来购买音乐会门票。出于某种原因,部件 owner.transfer(this.balance) 不断给我错误。此外,由于solidity 的版本太多,我找不到最适合我的版本。请帮助我。谢谢
错误消息
Solidity 代码
在我将其更改为 之后owner.transfer(address(this).balance);
,它给了我另一个错误。
local-storage - 是否有最佳实践解决方案将草稿数据存储在 dapp 中的区块链之外?
我使用以太坊平台开发 dapp。而且我需要先从区块链中存储一些草稿数据,然后再将其推送到网络。在这种情况下,我可以使用智能合约或将草稿数据存储在 db 中或将其存储在 localStorage 中。哪个解决方案好?或者这种情况还有其他解决方案吗?
token - 错误:返回错误:处理事务时出现 VM 异常:恢复 SafeERC20:低级调用失败
我写了一份智能合约,目的是通过 1inch 交易所进行交换。我已经使用 ganache-cli 将合约部署到本地分叉的主网上,并成功地为我的合约预付了资金。但是,在执行交换函数时,事务恢复并显示以下消息:错误:返回错误:VM Exception while processing transaction: revert SafeERC20: low-level call failed。这是我遇到问题的代码:
我一直在互联网上四处寻找,找不到有用的解决方案。有人知道错误可能在哪里吗?任何帮助深表感谢 :)