是否可能仅从应用程序提供对智能合约的访问并阻止直接访问?

问题描述 投票:0回答:1

例如,我有一个游戏,并且我希望玩家仅通过应用程序进行交互。但是,只要复制ABI和联系地址,他们就可以调用函数。

是否存在使用某种秘密令牌仅允许通过应用程序调用公共合同功能的情况?但是我不知道如何在公共区块链中制作这样的秘密令牌。

ethereum solidity smartcontracts web3
1个回答
2
投票

如果合同中包含与秘密令牌相关的逻辑,那么运行节点的任何人都可以看到,因此这似乎很困难。

普通Web服务器可以使用cookie和域名检查等来保护api,但是智能合约无法访问合约外的数据,并且合约内的数据是可见的,因此很难进行密码保护。

[似乎只有可能的解决方案使用加密数字签名,并使用代理服务器。来自应用程序的代理服务器控制请求,并创建对智能合约的签名请求,该智能合约仅允许来自代理服务器的请求。

© www.soinside.com 2019 - 2024. All rights reserved.