一、结论
1、合约开发过程中必须要完成初始化的功能要配置到构造函数中。
2、尤其是在通过web页面配置自动生成合约时,要传递几个隐含参数到合约中,比如合约生成费用,费用接收地址
【附注20221208】
通常该功能应该于平台级别的合约部署时,特定的功能要求必须要实现的,通常定义在构造函数中,比如调用合约必须要收取相关的费用,则费用收取功能就定义在该功能模块中;在NFT铸造时需要创建collections,铸造nft单品时必须匹配相关的collections。整个过程的费用收取就是通过构造函数来实现的。
二、案例说明
以下以web页面生成合约为例,说明生成合约时收取服务费的代码实现
构造函数代码如下:
constructor( string memory name_, string memory symbol_, uint256 totalSupply_, address serviceFeeReceiver_, uint256 serviceFee_ ) payable ERC20(name_, symbol_) {、 uint256 totalSupply = totalSupply_ * (10**18); payable(serviceFeeReceiver_).transfer(serviceFee_); }
其中代码段:payable(serviceFeeReceiver_).transfer(serviceFee_); 就是实现收取服务费用的功能。
在部署合约时要往地址 serviceFeeReceiver_ 支付 serviceFee_ 的服务费,其中 serviceFeeReceiver_ 和 serviceFee_ 是通过web页面传入的隐含参数,不用用户配置。
通过构造函数中嵌入代码来实现要部署合约时必须先支付相应的服务费才能部署合约。
至此,增加合约代码部署时必须完成的初始化功能。
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
币安智能链BSC发币(合约部署、开源、锁仓、LP、参数配置、开发、故障处理、工具使用)教程下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
此内容仅供注册用户可见,请登录!
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册