Конвертация монет

Материал из Minter Wiki

Конвертация монет в сети Minter - обмен любых монет, имеющих хождение в сети, одну на другую.

В связи с тем, что кастомные монеты, созданные в сети Minter, обеспечены резервом в BIP, их можно мгновенно конвертировать обратно в BIP или же другие монеты, выпущенные в сети.

Сразу же после создания, монета имеет реальную ценность, обеспеченную резервом и экономической составляющей. Более того, резерв создает абсолютную и мгновенную ликвидность для всех участников рынка, поскольку каждую монету можно обменять на любую другую всего за пару кликов и без посредника. Данный принцип подробно описан в статье Perpetual Coin Offering (PCO).

Каждый раз, когда люди обменивают одну монету на другую, они фактически сжигают (уменьшают) эмиссию одной монеты и переносят резерв BIP в другую (выпускают), делая последнюю более дорогой.

Сервисы для конвертации монет

Для конвертации токенов в сети Minter внешние и сторонние сервисы не обязательны. Эту операцию можно провести в любом из доступных кошельков: Консоль, Android кошелек, IOS кошелек

Конвертация монет в Консоли

Наибольший функционал по конвертации монет сети Minter представлен в Консоли на вкладке Конвертация.

Console 2.png

Варианты конвертации:

  • Продажа монет - в данном случае мы можем указать точное количество монет к продаже и выбрать в качестве оплаты комиссии монету отличную от продаваемой.
  • Продажа всех монет - в данном случае нам достаточно нажать одну кнопку, чтобы автоматически из суммы продаваемых монет отняли комиссию и на все оставшиеся монеты был произведен обмен. Удобно, если Вы не хотите, чтобы в Вашем кошельке образовались "крошки"
  • Покупка монет - режим для точного указания количества покупаемых монет. Аналогично первому режиму. Удобно если вам нужно купить только определенное количество монет, например, для внесения оплаты за какой-нибудь сервис.

В любом из режимов Вы должны:

  • выбрать монету к продаже из списка имеющихся в вашем кошельке
  • написать Тикер монеты. Лучше скопировать его из указанных выше сервисов, иначе, если Вы ошибетесь в написании, приобретете абсолютно другую монету
  • указать количество к покупке или продаже

Конвертация монет в мобильном кошельке

Мобильный кошелек в Android кошельке и IOS кошельке имеют практически одинаковый функционал. Конвертация монет выполняется при нажатии на кнопку Convert, которая находится в нижней части вкладки Coin.

Android convert.jpg

Нажимаете на нее и открывается окно с двумя вкладками:

  • SPEND - аналог "Продажа монет" в Консоли
  • GET - аналог "Покупка монет" в Консоли

Комиссия за конвертирование

Комиссия за конвертацию фиксированная и составляет - 0,10 BIP.

Она не зависит от количества обмениваемых монет и от того какие монеты вы обмениваете.

Также в каждой транзакции можно отправить до 1024 байт полезных данных в поле Сообщение. За каждый байт предусмотрена комиссия в 0.002 BIP.

В программном коде любая стоимость транзакций считается других единицах измерения - units. 1 BIP = 1000 units. Поэтому можно встретить следующее отображение стоимости транзакции:

 TypeSellCoin	   100 units
 TypeSellAllCoin   100 units
 TypeBuyCoin	   100 units

Формулы, применяемые при конвертации

Технически конвертирование происходит в два этапа:

  1. расчёт количества BIP получаемых при продаже токенов предлагаемых к обмену
  2. покупка токенов за то количество BIP, что было получено на первом этапе

Например мы хотим обменять 20 000 MSCAN на токены TEAM. В этом случае программа рассчитывает количество BIP, которое мы можем получить при продаже 20 000 MSCAN. Мы получим примерно 54 639 BIP (по текущему курсу, на момент написания статьи). Затем происходит расчет количества монет TEAM, которое мы получим за 54 639 BIP.

Расчет стоимости продажи

E = reserve * (1 - (1 - sellAmount / supply) ^ (100 / crr)), где

  • E - количество получаемых BIP;
  • reserve - резерв для монеты в BIP;
  • sellAmount - количество продаваемых монет;
  • supply - объем монет в обращении;
  • crr - CRR монеты

В случае примера выше, если мы продаем 20 000 MSCAN и на момент продажи монета имеет следующие параметры:

  • reserve - 5 033 000 BIP
  • sellAmount - 20 000 MSCAN
  • supply - 2 453 000 MSCAN
  • crr - 75%

Подставляем все в формулу и получаем:

E = 5 033 000 BIP * (1 - (1 - 20 000 MSCAN / 2 453 000 MSCAN) ^ (100 / 75%)) = 54 639,47 BIP (округлено до 2 знаков после запятой)

Расчет стоимости покупки на определенную сумму BIP

E = supply * ((1 + deposit / reserve) ^ (crr / 100) - 1), где

  • E - количество получаемых BIP;
  • supply - объем монет в обращении;
  • deposit - количество BIP, затрачиваемых на покупку;
  • reserve - резерв для монеты в BIP;
  • crr - CRR монеты

В случае примера выше, если мы покупаем TEAM и на момент покупки монета имеет следующие параметры:

  • reserve - 14 654 732 BIP
  • deposit - 54 639,47 BIP
  • supply - 1 761 000 TEAM
  • crr - 50%

Подставляем все в формулу и получаем:

deposit = 1 761 000 TEAM * ((1 + 54 639,47 BIP / 14 654 732 BIP) ^ (50% / 100) - 1) = 3 279,85 BIP (округлено до 2 знаков после запятой)

Расчет стоимости покупки определенного количества монет

deposit = reserve * (((wantReceive + supply) / supply)^(100/crr) - 1), где

  • wantReceive - количество монет к покупке;
  • supply - объем монет в обращении;
  • deposit - количество монет к покупке;
  • reserve - резерв для монеты в BIP;
  • crr - CRR монеты

В случае примера выше, если мы покупаем TEAM и на момент покупки монета имеет следующие параметры:

  • reserve - 14 654 732 BIP
  • wantReceive - 2000 TEAM
  • supply - 1 761 000 TEAM
  • crr - 50%

Подставляем все в формулу и получаем:

deposit = 14 654 732 BIP * (((2 000 TEAM + 1 761 000 TEAM) / 1 761 000 TEAM)^(100/50%) - 1) = 33 306,20 BIP (округлено до 2 знаков после запятой)

Симуляция процесса конвертации

Как работать с Калькулятором Minter см. соответствующую статью Калькулятор Minter

Чтобы симулировать процессы описанные в разделе Формулы, применяемые при конвертации необходимо запустить Калькулятор Minter и создать монету, которую мы собираемся конвертировать.

Симуляция покупки чашечки кофе.png

Затем переходим на вкладку Exchange и там видим вторую тестовую монету CUP. Параметры монеты CUP предустановленные и их невозможно поменять. По задумке создателей калькулятора в этом случае пользователь должен увидеть как происходит конвертация при оплате чашечки кофе стоимостью 1 CUP любым пользовательским токеном с произвольными параметрами.

Тип транзакции при конвертации

В программном коде транзакция отображается в виде:

 TypeSellCoin	    0x02
 TypeSellAllCoin    0x03
 TypeBuyCoin	    0x04

Транзакция на продажу определенного количества монет

Тип: 0x02

При операции по продаже одной монеты (принадлежит отправителю) в пользу другой монеты в системе будут содержаться следующие данные :

type SellCoinData struct {
    CoinToSell          [10]byte
    ValueToSell         *big.Int
    CoinToBuy           [10]byte
    MinimumValueToBuy   *big.Int
}

CoinToSell - Тикер монеты к продаже
ValueToSell - Количество монет к продаже
CoinToBuy - Тикер покупаемой монеты
MinimumValueToBuy - Минимальный объем монеты для покупки

Транзакция на продажу всех монет

Тип: 0x03

Операция по продаже всех существующих монет одного типа (принадлежащих отправителю) в пользу другой монеты в системе.

type SellAllCoinData struct {
    CoinToSell          [10]byte
    CoinToBuy           [10]byte
    MinimumValueToBuy   *big.Int
}

CoinToSell - Тикер монеты к продаже
CoinToBuy - Тикер покупаемой монеты
MinimumValueToBuy - Минимальный объем монеты для покупки

Транзакция по покупке монет

Type: 0x04

Транзакция по покупке монеты с оплатой другой монеты (принадлежит отправителю).

type BuyCoinData struct {
    CoinToBuy           [10]byte
    ValueToBuy          *big.Int
    CoinToSell          [10]byte
    MaximumValueToSell  *big.Int
}

CoinToBuy - Тикер монеты к покупке
ValueToBuy - Количество монет к получению
CoinToSell - Тикер монеты к продаже
MaximumValueToSell - Максимальный объем монеты для продажи