【问题标题】:CrowdSale smart contract not accepting paymentCrowdSale 智能合约不接受付款
【发布时间】:2018-11-11 10:52:00
【问题描述】:

我创建了一个以太坊智能合约,我正在使用 Zepplin 库创建一个 ERC20 代币合约和一个 CrowdSale 合约以允许人们购买我的代币。

代币合约

pragma solidity ^0.4.24;

import "https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-solidity/master/contracts/token/ERC20/ERC20.sol";

contract NourToken is ERC20 {
   string public symbol = "NOR";
   string public name = "Nourreddine Token";
   uint8 public decimals = 18;
   uint256 public constant INITIAL_SUPPLY = 10000 * (10 ** uint256(decimals));

   constructor() public {
      _mint(msg.sender, INITIAL_SUPPLY);
   }
}

众筹合约

pragma solidity ^0.4.24;

import "https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-solidity/master/contracts/crowdsale/Crowdsale.sol";
import "https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-solidity/master/contracts/token/ERC20/ERC20.sol";

contract NourCrowdSale is Crowdsale {

  constructor (
    uint256 rate,
    address wallet,
    ERC20 token) public 
  Crowdsale(rate, wallet, token)
  {}
}

当我尝试对 Crowdsale 合同进行付款时,交易失败,我不知道为什么。

这是一个失败的交易示例:https://ropsten.etherscan.io/tx/0x8777f2fa58988419bbfc22c96c50470ea242db4ea865d0e85aaa9f2dd1206dbe

谁能解释为什么它失败了?

非常感谢。

【问题讨论】:

  • 您可以在 Remix IDE 中自行尝试:remix.ethereum.org
  • 您能否提供错误消息以及如何发送付款。失败的原因有很多。
  • 您好 Nikos,感谢您的帮助,没有错误消息。

标签: ethereum solidity smartcontracts


【解决方案1】:

我自己想通了。

唯一可以执行代币转移的是代币合约的所有者

在我的例子中,我首先使用另一个帐户创建合约,并将代币地址作为 CrowdSale 合约的参数传递。所以 CrowdSale 合约不是代币合约的所有者。

我是这样修改合同的:

pragma solidity ^0.4.24;

import "https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-solidity/release-v2.0.0/contracts/crowdsale/Crowdsale.sol";
import "https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-solidity/release-v2.0.0/contracts/token/ERC20/ERC20.sol";
import "browser/NourToken.sol";

contract NourCrowdSale is Crowdsale {

   constructor (
      uint256 rate,
      address wallet) public 
   Crowdsale(rate, wallet, new NourToken()){}
}

希望它能对其他人有所帮助:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-17
    • 2018-06-29
    • 1970-01-01
    • 2014-06-11
    • 2018-07-01
    • 2011-02-22
    • 2017-10-14
    • 2021-11-23
    相关资源
    最近更新 更多