Цветные монеты

Данные операции доступны в платежном блокчейне.

color.coin.new - Регистрация новой цветной монеты

  • sender : String - EON-ID аккаунта.

  • decimal : long - число знаков в дробной части (от 0 до 10).

Возможные ошибки:

  • "Account has been already associated with the colored coin" - цветная монету уже была выпущена.

  • "The 'decimalPoint' field value is out of range" - неправильно задана точность.

Команду подписывает аккаунт, заданный в sender.

{
    ...
    "type": "color.coin.new",
    "data": {
        "sender": "EON-A7CJA-F3PUZ-DKVSK",
        "decimal": 2
    }
}

color.payment.send - Перевод цветной монеты

  • sender : String - EON-ID аккаунта-отправителя.

  • target : String - EON-ID аккаунта-получателя.

  • amount : long - переводимая сумма.

  • color : String - тип монеты.

Команду подписывает аккаунт, заданный в sender.

Возможные ошибки:

  • "Insufficient number of colored coins on the balance" - недостаточно средств на балансе.

  • "The number has reached the limit" - слишком много цветных монет на балансе.

  • "The 'amount' field value is out of range" - неправильно задана сумма перевода.

Пример:

{
    ...
    "type": "color.payment.send",
    "data": {
        "sender": "EON-A7CJA-F3PUZ-DKVSK",
        "target": "EON-A7CJA-F3PUZ-DKVSK",
        "amount": 2000,
        "color": "EON-C-A7CJA-F3PUZ-DKVSK"
    }
}

Атомарный обмен цветных монет

Подробнее о работе атомарного обмена можно прочитать тут: Атомарный обмен.

Атомарный обмен

color.payment.swap.begin - BeginSwap - начать перевод

  • sender - отправитель.

  • target - получатель.

  • timestamp - время истечения срока действия.

  • alg - алгоритм хеширования. Поддерживается SHA-512.

  • hash - хеш в Base64.

  • id - идентификатор обмена. Рассчитывается по хешу (аналогично рассчету Acc-ID по публичному ключу), но с префиксом "SWAP-"

  • amount - переводимая сумма.

  • color - тип монеты.

Команду подписывает аккаунт, заданный в sender.

Возможные ошибки:

  • "Hash algorithm not supported" - задан неподдерживаемый HASH-алгоритм.

  • "Incorrect swap id" - неправильно задан SWAP-ID.

  • "Swap already exist" - обмен с таким хешем уже используется.

  • "Incorrect timestamp" - неправильно задано время окончания обмена (время уже вышло)

  • "Unknown target account" - нет аккаунта получателя.

  • "Insufficient number of colored coins on the balance" - недостаточно средств на балансе.

  • "The 'amount' field value is out of range" - неправильно задана сумма перевода.

Пример:

{
    ...
    "type": "color.payment.swap.begin",
    "data": {
        "alg": "sha-512",
        "amount": 1000,
        "color": "EON-C-A7CJA-F3PUZ-DKVSK",
        "hash": "vSsar3708Jvp9Szi2NWZZ02Bqp1qRCFpbcTZPdBhnWgs5WtNZKnvCXdhztmeD2cmW192CF5bDufKRpayrW/isg==",
        "id": "SWAP-PHQDB-ZCK74-VTKZS",
        "sender": "EON-HRAEQ-8NZL7-C9LHJ",
        "target": "EON-UBYUQ-GXFZ8-8XPTP",
        "timestamp": 1593005737
    }
}

color.payment.swap.commit - CommitSwap - завершение перевода

  • id - идентификатор обмена.

  • secret - секретная фраза.

  • sender - инициатор обмена.

  • target - получатель.

Команда не требует подписи.

Возможные ошибки:

  • "Unknown swap" - неизвестный обмен.

  • "Swap is over" - обмен уже закончился.

  • "Wrong secret" - неправильный секрет.

  • "Unsupported hash algorithm" - неподдерживаемый HASH-алгоритм.

  • "The number has reached the limit" - слишком много цветных монет на балансе.

Пример:

{
    ...
    "type": "color.payment.swap.commit",
    "data": {
        "id": "SWAP-PHQDB-ZCK74-VTKZS",
        "secret": "secret",
        "sender": "EON-HRAEQ-8NZL7-C9LHJ",
        "target": "EON-J72W8-NB38U-P5RPU"
    }
}

color.payment.swap.rollback - RollbackSwap - откат перевода

  • id - идентификатор обмена.

  • sender - инициатор обмена.

Команда не требует подписи.

Возможные ошибки:

  • "Unknown swap" - неизвестный обмен.

  • "Swap is active" - обмен еще активен.

  • "The number has reached the limit" - слишком много цветных монет на балансе.

Пример:

{
    ...
    "type": "color.payment.swap.rollback",
    "data": {
        "id": "SWAP-PHQDB-ZCK74-VTKZS",
        "sender": "EON-HRAEQ-8NZL7-C9LHJ"
    }
}

color.payment.swap.cancel - CancelSwap - отмена перевода по обоюдному согласию

  • id - идентификатор обмена.

  • sender - инициатор обмена.

  • target - получатель.

Команду подписывают аккаунты, заданные в sender и target.

Возможные ошибки:

  • "Unknown swap" - неизвестный обмен.

  • "Incorrect target" - неправильно задан получатель обмена.

  • "The number has reached the limit" - слишком много цветных монет на балансе.

Пример:

{
    ...
    "type": "color.payment.swap.cancel",
    "data": {
        "id": "SWAP-PHQDB-ZCK74-VTKZS",
        "sender": "EON-HRAEQ-8NZL7-C9LHJ",
        "target": "EON-J72W8-NB38U-P5RPU"
    }
}

Управление цветной монетой

color.coin.mode.auto.set - Перевод цветной монеты в авто-эмиссию

  • sender : String - EON-ID аккаунта.

Команду подписывает аккаунт, заданный в sender.

Возможные ошибки:

  • "The colored coin has not been associated with the account" - цветная монеты не выпущена.

  • "EmitMode has already set" - уже включен режим авто-эмиссии.

Пример:

{
    ...
    "type": "color.coin.mode.auto.set",
    "data": {
        "sender": "EON-A7CJA-F3PUZ-DKVSK"
    }
}

color.coin.mode.fixed.set - Перевод цветной монеты в фиксированную эмиссию

  • sender : String - EON-ID аккаунта.

  • value : long - общий размер эмиссии.

Команду подписывает аккаунт, заданный в sender.

Возможные ошибки:

  • "Invalid value" - неправильно задана эмиссия.

  • "The colored coin has not been associated with the account" - цветная монеты не выпущена.

  • "Value has already set" - нужная эмиссия уже установлена.

  • "An insufficient number of colored coins is on the balance" - недостаточно цветных монет на балансе для уменьшения эмиссии на заданную величину.

  • "The number has reached the limit" - слишком много цветных монет на балансе.

Пример:

{
    ...
    "type": "color.coin.mode.fixed.set",
    "data": {
        "sender": "EON-A7CJA-F3PUZ-DKVSK",
        "amount": 20000000
    }
}

color.coin.del - Удаление цветной монеты

  • sender : String - EON-ID аккаунта.

Команду подписывает аккаунт, заданный в sender.

Возможные ошибки:

  • "The colored coin has not been associated with the account" - цветная монеты не выпущена.

  • "The entire amount of funds must be on the balance" - не все выпущенные цветные монеты вернулись на исходный аккаунт.

Пример:

{
    ...
    "type": "color.coin.del",
    "data": {
        "sender": "EON-A7CJA-F3PUZ-DKVSK"
    }
}

Last updated