gpt4 book ai didi

ethereum - 设置代币价格稳定性

转载 作者:行者123 更新时间:2023-12-02 01:25:22 25 4
gpt4 key购买 nike

如何在 solidity 中设置每个代币的价格?

我试过了

contract OToken {

using SafeMath for uint256;

uint public _totalSupply = 0;
uint public constant _cap = 100000000;
string public constant symbol = "OXN";
string public constant name = "OToken";
uint public constant decimals = 18;

uint public oneTokenInWei = 183.602;

如果我希望代币价格为每个 0.02 美元,而 1 eth 的交易价格为 167 美元那么 1 wei = 183.602 个代币

如果我想将每个代币的价格更改为 .03,我可以调用此函数

 function setOneTokenInWei(uint w) onlyOwner {
oneTokenInWei = w;
changed(msg.sender);
}

然后这个函数来创建 token

function createTokens() payable{

require(
msg.value > 0
&& _totalSupply < _cap
&& CROWDSALE_PAUSED <1
);

uint multiplier = 10 ** decimals;
uint256 tokens = msg.value.mul(multiplier) / oneTokenInWei;

balances[msg.sender] = balances[msg.sender].add(tokens);
_totalSupply = _totalSupply.add(tokens);
owner.transfer(msg.value);
}

这不是将当前值添加到发送者钱包

最佳答案

我们知道 1 以太 = 1018 wei,如果我们取 1 以太 = 167 美元

那么对于 0.02 美元,我们应该得到 0.02 美元/167 美元 = 0.00011976047904191617 以太币。

这等于 1018 x 0.00011976047904191617 = 119760479041916.17 wei。

因此,如果您投入 1 个以太币,您将获得 1018/119760479041916.17 = 8350 个代币。

在 167 美元的价格下,每个代币的值(value)为 167/8350 = 0.02,如您所愿。

我会定义一个函数,这样你就可以设置一个以太币的价格,它会得出一个代币的价格为两美分。

function setEthPrice(uint _etherPrice) onlyOwner {
oneTokenInWei = 1 ether * 2 / _etherPrice / 100;
changed(msg.sender);
}

关于ethereum - 设置代币价格稳定性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45153486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com