首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ICO合同转让

ICO合同转让
EN

Ethereum用户
提问于 2017-10-28 21:28:45
回答 2查看 411关注 0票数 0

当为ICO上传ERC20令牌时,如何编写ICO令牌销售程序?是在同一份合同中完成的吗?从现有的销售情况来判断,您将以太发送到合同地址,但这触发了什么功能呢?

EN

回答 2

Ethereum用户

回答已采纳

发布于 2017-10-30 11:19:56

通常,通过众包筹集资金是通过与实施ERC20标准的合同不同的方式实现的--这个分离关注点是一个很好的软件开发实践。

开放齐柏林飞艇是一个优秀的项目,它为智能契约建立了最佳实践,创建了安全的代码,并因其代码在大量高调项目中的使用而享有声誉--我建议您看看一些实施集体销售合同的方法实例

从现有的销售情况来看,您将以太发送到一个联系人地址,但这会触发什么功能呢?

最终,这取决于关于令牌的行为和众包合同的工作方式的设计决策。

一种做法是,通过调用ERC20标准中定义的传输函数或ERC20函数(例如TokenMarketNet的分配TokenMarketNet )来实现

代码语言:javascript
复制
 /**
   * Transfer tokens from approve() pool to the buyer.
   *
   * Use approve() given to this crowdsale to distribute the tokens.
   */
  function assignTokens(address receiver, uint tokenAmount) private {
    if(!token.transferFrom(beneficiary, receiver, tokenAmount)) throw;
  }
}

但是,您可以看到OpenZeppelin的众售合同调用了一个定义在令牌契约上的薄荷函数,该函数没有定义为ERC20规范的一部分:

代码语言:javascript
复制
  // low level token purchase function
  function buyTokens(address beneficiary) public payable {
    require(beneficiary != address(0));
    require(validPurchase());
    uint256 weiAmount = msg.value;
    ....
    token.mint(beneficiary, tokens);
    TokenPurchase(msg.sender, beneficiary, weiAmount, tokens);
    forwardFunds();
  }
票数 3
EN

Ethereum用户

发布于 2017-11-17 15:57:00

萨伊德·哈希米

松露使用文件2_deploy_contracts.js文件来定义契约中的变量。如果你在linux上安装松露,它附带了一个你可以学习的硬币/大众销售合同的例子。查找2_deploy_contracts.js文件并查看结构。

松露将多个合同合并到一个部署中。这就是为什么你没有看到所有的信息,你正在寻找。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/29468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档