首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DApp出售的外部资源的访问控制?

使用DApp出售的外部资源的访问控制?
EN

Ethereum用户
提问于 2017-12-12 06:56:30
回答 1查看 307关注 0票数 0

我正在努力创建一个可靠的智能契约,即只有在支付了一些令牌之后,帐户才能访问数字内容。

例如,假设Account 1是买方,Account 2是卖方。Account 1有一些外部web服务来托管数据,Account 2也有一些外部web应用程序来使用这些数据。

  1. Account 1Account 2支付一些令牌来访问某些数据(数据将存放在外部的Web服务应用程序中,该URL可以存储在智能契约中)。
  2. Account 2使用甲骨文通知其外部web应用程序,使用Account 1的公钥和自身的私钥对数据进行加密。
  3. Account 1的用户现在可以下载加密的数据(可能是web应用程序),并使用其私钥和Account 2的公钥对其进行解密。

这样做对吗?使用公钥/私钥加密/解密数据似乎很麻烦。如果需要的话怎么弄到钥匙?

EN

回答 1

Ethereum用户

发布于 2017-12-12 15:03:23

这是可行的,但假设一个典型的web应用程序,我想我可以建议一种更简单的方法:

  1. 用户访问网站并请求访问数据。
  2. 该网站生成一个随机的“请求ID”,并将其放入为该用户加密的cookie中。
  3. 用户发送令牌并包含请求ID。
  4. web应用程序(在区块链上验证了事务)授予用户访问权限。只有该用户才能访问数据,因为只有该用户具有带有该请求ID的加密cookie。

如果在这里使用ERC20令牌,步骤3通常包括一个标准的token.approve(...)调用,然后调用智能契约中的方法,请求ID作为参数,执行transferFrom(...)并在成功时发出事件。

加密的cookie可以被用于将请求ID与用户关联的任何机制所替代(例如,如果web应用程序有持久用户帐户,则数据库中的列)。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/33156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档