我正在开发一个游戏的基础上,以太,这结合了NFT和一些酷的RPG游戏动态。据我所知,据我所知,合同中的每一项功能都可以从外部从任何人那里调用,我对此表示怀疑。
这让我感到奇怪,例如,我的游戏计划通过给玩家NFT来奖励他们,如果他们做游戏中的事情,比如任务或打架。我想它的功能应该是这样的:
function rewardPlayer(address memory newOwner,string memory tokenURI){
//Pseudocode
_mint();
_setTokenURI(tokenURI);
transferOwnership(newOwner);
}显然,我最担心的是,有人会把这个方法称为自己的地址,奖励自己。
所以,我需要一种避免这种情况的方式。我想要生成一个只允许用加密密钥执行的加密密钥,但是,Solidity如何解密密钥呢?有可能吗?有更好的方法吗?
(预先谢谢:)
发布于 2021-08-23 10:21:14
Id使函数只能由一个钱包调用(例如,使用onlyOwner ),并处理其余的逻辑,以便直接在网站上确定参数。缺点是你得自己付煤气费。
https://ethereum.stackexchange.com/questions/107605
复制相似问题