Solidity
來自 BasicToken 的 BalanceOf 和來自 ERC20Basic 的 totalSupply 在 Crowdsale.sol 中不起作用
我正在使用來自OpenZeppelin / zeppelin- solidity 的 Crowdsale.sol 。這是一個片段:
import '../token/MintableToken.sol'; import '../math/SafeMath.sol'; /** * @title Crowdsale * @dev Crowdsale is a base contract for managing a token crowdsale. * Crowdsales have a start and end block, where investors can make * token purchases and the crowdsale will assign them tokens based * on a token per ETH rate. Funds collected are forwarded to a wallet * as they arrive. */ contract Crowdsale { using SafeMath for uint256; // The token being sold MintableToken public token;
這是從 MintableToken 繼承的嗎?
MintableToken.sol 繼承自 StandardToken.sol 和 Ownable.sol。StandardToken.sol 繼承自 BasicToken.sol 和 ERC20.sol。BasicToken.sol 繼承自 ERC20Basic.sol 和 SafeMath.sol。
我想
function balanceOf
從 BasicToken.sol 和ERC20Basic.sol 中使用uint256 public totalSupply
,但在創建 Crowdsale 合約後,這些不會出現在remix.ethereum.org(使用“JavaScript VM”)上。如果我將 Crowdsale.sol 更改為以下任何一項:
contract Crowdsale is StandardToken { contract Crowdsale is MintableToken { contract Crowdsale is BasicToken {
…
balanceOf
並totalSupply
出現(在創建合約之後),但它們只返回 0。我向合約發送了一些資金並將發件人的地址輸入balanceOf
並返回 0。我點擊totalSupply
它返回零。他們似乎沒有工作。我需要做什麼才能讓這些工作?
我認為你誤解了那堂課。從外觀上看,Crowdsale.sol 是一個代幣工廠。動態生成 MintableToken 合約需要付費。
然後,您需要訪問新鑄造的代幣以訪問實際的代幣功能。