Десятичные дроби SmartContract и максимальное количество

Я новичок в смарт-контрактах и ​​пытаюсь учиться, поэтому мне нужна помощь с одним вопросом:

Мне нужно, чтобы общее предложение составляло 1 триллион 1.000.000.000.000, и мне также нужно, чтобы десятичные дроби были только 5

Я закодировал это так:

      uint256 private constant MAX = ~uint256(0);
uint256 private _tTotal = 100000000 * 10**6 * 10**9;
uint256 private _rTotal = (MAX - (MAX % _tTotal));
uint256 private _tFeeTotal;
string private _name = "FromSafeMoon";
string private _symbol = "FROMSAFE";
uint8 private _decimals = 5;
uint256 public _taxFee = 1;
uint256 private _previousTaxFee = _taxFee;
uint256 public _liquidityFee = 4;
uint256 private _previousLiquidityFee = _liquidityFee;
IUniswapV2Router02 public immutable uniswapV2Router;
address public immutable uniswapV2Pair;
bool inSwapAndLiquify;
bool public swapAndLiquifyEnabled = true;
uint256 public _maxTxAmount = 5000000 * 10**6 * 10**9;
uint256 private numTokensSellToAddToLiquidity = 500000 * 10**6 * 10**9;

Чего я не понимаю, так это того, правильны ли десятичные дроби, равные 5, а максимальное количество - 1 триллион, потому что блокчейн Binance использует такую ​​математику, а я действительно отстой в математике.

Кто-нибудь может помочь мне понять это, пожалуйста? и ... Правильно ли предложение 1 триллион и 5 знаков после запятой?

РЕДАКТИРОВАТЬ: когда я пытаюсь развернуть его, я получаю предупреждающее сообщение о неправильных полномочиях, но я ничего не знаю о математических полномочиях

1 ответ

Если вы хотите использовать 5 в качестве десятичных знаков, это должно быть,

      _tTotal = 100000000 * 10**6 * 10**5 

Это просто 100000000 x 1000000 = 100000000000000 (общий объем предложения). Другими словами, с 5 знаками после запятой (10 **5) общее предложение будет равно 10000000000000000.00000.

Другие вопросы по тегам