有人介意解释一下这个令牌智能合约中的approve
和allowance
功能吗:
export function approve(spender: string, tokens: u64): boolean {
logging.log("approve: " + spender + " tokens: " + tokens.toString());
approves.set(context.sender + ":" + spender, tokens);
return true;
}
和
export function allowance(tokenOwner: string, spender: string): u64 {
const key = tokenOwner + ":" + spender;
if (!approves.contains(key)) {
return 0;
}
return approves.getSome(key);
}
我正试图弄清楚他们在做什么,反对我从Coindegraph 上读到的关于ERC-20的approve
和allowance
功能的博客文章
不是这样,因为[approve]会根据代币的总供应量来检查交易。它确保没有遗漏或多余的东西。另一种保护我们假设的扑克游戏完整性的方法是确保没有人带来额外的BLU。因此,[批准]通过检查表上的BLU总数是否等于10来允许交换。
正如我之前所说,在此次回购中现有的代币智能合约中包含一些文档不会有什么坏处。请
Approve
函数设置允许合同从所有者转移的令牌数量。
Allowance
授予第三方使用所有者令牌的权限。话虽如此,这并不意味着其他人有能力偷走你的钱,但你允许智能合约代表你使用它们。