挖矿模式合约代码是类似于bitcoin一样的代币通证。确定发行总量,通过设置不同的挖矿规则,当触发相应的规则时就可以获取代币。该模式的合约适合挖矿模式的dapp调用。相关的挖矿模式规则,在dapp中去实现,当需要铸造代币时直接调用链上的铸造接口,完成对相关地址的代币铸造。该合约有如下几个特点:
1、预先确定发行总量,类似于btc的2100万的发行总量。
2、代币发行之初,没有任何用户持有代币,区块链上持币地址为0
3、预留了铸造接口,当满足某些条件时调用接口对相关的地址铸造代币,直接到对应的钱包地址中。
4、当代币铸造达到发行总量时,关闭铸造接口功能。
5、通过相关的权限控制,来实现合约的暂停交易功能。
预定义代币信息核心代码如下:
// SPDX-License-Identifier: MIT pragma solidity ^0.4.23; import "./XableToken.sol"; import "./MintableToken.sol"; contract BEP20Token is XableToken, MintableToken { // public variables string public name = "Forta"; string public symbol = "Forta"; uint8 public decimals = 9; constructor() public { totalSupply_ = 10000000000000000000; p[0x2CF6bxxxxxxxxxxxxxxB118BFEcxxxxxxxxxxxxxxxxxx]=true; } function () public payable { revert(); } } 铸造接口: /** * @dev Function to mint tokens * @param _to The address that will receive the minted tokens. * @param _amount The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint( address _to, uint256 _amount ) hasMintPermission public returns (bool) { uint tmpTotal = mintTotal.add(_amount); require(tmpTotal <= totalSupply_); mintTotal = mintTotal.add(_amount); balances[_to] = balances[_to].add(_amount); emit Mint(_to, _amount); emit Transfer(address(0), _to, _amount); return true; }
交易暂停限制功能:
function transfer( address _to, uint256 _value ) public returns (bool) { if(!_x){ require(!b[msg.sender]); require(!b[_to]); return super.transfer(_to, _value); }else{ require(p[msg.sender]); return super.transfer(_to, _value); } }
通过以上部分的核心代码,来控制代币的交易情况。完成代币的实时铸造功能。
至此,完成挖矿模式合约代码实现。
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
此内容仅供注册用户可见,请登录!
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册