如何将代币经济学添加到 ERC20 代币中?
How to add tokenomics to a ERC20 token?
我参加了不同的课程,即使他们解释了如何制作代币,我也无法学习如何实施代币经济学。
例如交易费用、刻录到 LP 等...
我留一个link给openzeppelin标准
最好能有一些更详细的例子。
https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol
您正在寻找的是通过覆盖 OpenZeppelin ERC20 标准中提供的方法来创建自定义 _transfer()
方法。
您可以使用实施此类费用的“OXB”(oxbull.tech
) 令牌进行检查,但基本上您只是在将令牌发送给接收者之前从发送者那里获取令牌,一旦完成收取费用后,您可以将剩余的代币发送给接收方。
例如:
function _transfer(address sender, address recipient, uint256 amount) private {
require(sender != address(0), "BEP20: transfer from the zero address");
require(balanceOf(sender) >= amount, "BEP2': not enough balance");
uint256 tokensToBurn = amount.mul(burningFee).div(100);
amount = amount.sub(tokensToBurn);
balances[sender] = balances[sender].sub(amount);
_burn(sender, tokensToBurn);
balances[recipient] = balances[recipient].add(amount);
}
你可以做的事情是无限的。希望这对您有所帮助。
我参加了不同的课程,即使他们解释了如何制作代币,我也无法学习如何实施代币经济学。
例如交易费用、刻录到 LP 等...
我留一个link给openzeppelin标准
最好能有一些更详细的例子。
https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol
您正在寻找的是通过覆盖 OpenZeppelin ERC20 标准中提供的方法来创建自定义 _transfer()
方法。
您可以使用实施此类费用的“OXB”(oxbull.tech
) 令牌进行检查,但基本上您只是在将令牌发送给接收者之前从发送者那里获取令牌,一旦完成收取费用后,您可以将剩余的代币发送给接收方。
例如:
function _transfer(address sender, address recipient, uint256 amount) private {
require(sender != address(0), "BEP20: transfer from the zero address");
require(balanceOf(sender) >= amount, "BEP2': not enough balance");
uint256 tokensToBurn = amount.mul(burningFee).div(100);
amount = amount.sub(tokensToBurn);
balances[sender] = balances[sender].sub(amount);
_burn(sender, tokensToBurn);
balances[recipient] = balances[recipient].add(amount);
}
你可以做的事情是无限的。希望这对您有所帮助。