Базовый контракт на краудсейл

Я учусь разрабатывать смарт-контракты с использованием Solidity. В настоящее время я работаю и тестирую функцию следования контракту на краудсейл.

https://github.com/OpenZeppelin/openzeppelin-solidity/blob/v1.8.0/contracts/crowdsale/Crowdsale.sol

Этот конструктор контракта имеет три разных значения.

  1. ставка
  2. адрес кошелька
  3. адрес токена

Меня смущает первый, который называется «ставка». какое значение я должен передать здесь?

например, я хочу продать 1 токен по цене 1 эфира, тогда что мне здесь передать?

Ответы (3)

Как видите, функция

function _getTokenAmount(uint256 _weiAmount) internal view returns (uint256) {
    return _weiAmount.mul(rate);
  }

В нем указано, что для 1 wei количество токенов будет равно 1*rate .

например, я хочу продать 1 токен по цене 1 эфира, тогда что мне здесь передать?

Это зависит от количества знаков после запятой в вашем токе-контракте. Например, если у вас есть 18 знаков после запятой, то

токен = wei * скорость

1 Token = 1 ether * rate

10 ^18 token = 10 ^18 wei * rate

=> rate = 1
Я развернул краудсейл-контракт с моим токеном с фиксированной поставкой, но он дает выполнение.
мой фиксированный запас имеет 18 десятичных знаков
исключение - конструктор должен быть оплачен, если вы отправляете значение
Вам нужно сделать любую функцию, которая принимает эфир платной
Вы можете видеть, что в моем контракте на краудсейл есть функция buyTokens(), которая подлежит оплате.
Я также заметил, что всякий раз, когда я комментировал вызов функции transfer() из контракта с краудсейлом, он работал. Я думаю, что в то время возникла проблема с отправкой токена получателю.

http://eth-converter.com/

Вэй в Эфир

Wei — это 18 цифр, которые входят в эфир.

Курс объясняется в документации по краудсейлу OpenZeppelin Contracts: https://docs.openzeppelin.com/contracts/2.x/crowdsales#crowdsale-rate .

Вы также можете задать вопросы об использовании контрактов OpenZeppelin на форуме сообщества.

Раскрытие информации: я менеджер сообщества в OpenZeppelin