我们正在考虑建立一个在我附近寻找沙龙并允许预订的dapp。在这种应用中,必须向用户显示与其当前位置相距一定距离的沙龙。从哪里查询数据。因为我不认为那种可靠的查询是可能的。我们是否需要在这种情况下引入任何RDBMS来存储沙龙数据,以便我们可以轻松查询并将预订信息发送到区块链。
混合应用是唯一的出路吗?人们在谈论IPFS应该用于存储图像,视频和其他数据。这是解决方案,如果是,那么我们将如何从那里查询它?那么,它会足够快吗?
答案 0 :(得分:3)
TL; DR:简短回答:你可以,但你不应该。
这里真正的问题是你在这个项目中需要什么样的以太坊?
在以太坊中,每次写入操作都很昂贵,而读取数据则不然。写操作为function getMatchingWhine(keys, searchTerm, wines) {
function extractTextFromKeys(keys, object) {
let text = '';
keys.forEach(key => {
text += ' ' + object[key];
});
return text.toLowerCase();
}
return wines.filter(wine => {
const relevantText = extractTextFromKeys(keys, wine);
return relevantText.includes(searchTerm.toLowerCase());
});
}
,读取为transactions
这意味着"上传"您的沙龙列表将花费您的资金(即gas),但每次数据更新(开放时间,预订......)。
对于你问题的mysql特定部分,以太坊并不是为那种操作而设计的
有神谕的东西可能会成功,但它真的不适合。将以太坊视为一种在同行之间进行中间交易的方式,可以公开和永久地存储每笔交易
根据维基百科页面blockchains基本上是一个"不断增长的记录列表"。以太坊有可能让工人运用一些代码来交换calls
此代码(或Smart Contract)仅用于促进,验证或执行合同的谈判或履行。 (此处合同是具有法律约束力的合同)。
根据您的描述,IMO是一个简单的Web应用程序,具有"标准" SQL绰绰有余。 你只需要存放沙龙' GPS坐标并根据用户的GPS坐标进行最接近的匹配。
答案 1 :(得分:0)
您可能希望将申请分为两部分:
- 显示可用预订时间的部分
- 进行新预订的部分