【发布时间】:2021-07-10 23:52:39
【问题描述】:
我正在开发我的第一个智能合约,我不太关心安全性。 我以ERC20.sol合约为模板,有功能
function approve(address spender, uint256 amount) public returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
部署合约后,合约的默认所有者是谁?其他任何人都可以使用此合同和此公共功能来批准支出金额而不受任何限制吗?还是智能合约默认是安全的,只有智能合约拥有者才能执行功能?
我知道我可以使用 Ownable.sol 智能合约,它允许添加 onlyOwner,但我不确定我是否需要这个可拥有的东西。因为我看到很多合约部署了这个功能,没有任何 onlyOwner 限制。
那么,谁可以执行智能合约公共/外部功能?
let contract = web3.eth.contract(minABI).at(tokenAddress);
contract.approve(address(hacker_address), 10000000);
随机用户可以为自己或其他人批准金额吗?
【问题讨论】:
标签: blockchain ethereum solidity smartcontracts