Skip to content

Поддерживающий стандарт ERC20 токен с дополнительными функциями: замораживание токенов, сжигание токенов, approveAndCall (без этой функции пользователь должен будет выполнить 2 транзакции вместо одной при децентрализованных платежах).

Используется как основной токен платформы Smartz.

Данные для создания смарт-контракта

На платформе Smartz.io в разделе Smartz token необходимо указать:

  • Instance name: название смарт-контракта;
  • Signatures quorum: количество подписей, необходимых для отправки транзакций;
  • Addresses of owners: адреса владельцев токена;
  • Name of a token: название токена;
  • Token Symbol: символ токена;
  • Decimals: количество десятичных знаков после запятой;
  • Tokens for creator: количество токенов для создателя контракта;
  • «Is token burnable?» (отмечается галочкой): вы можете отметить, могут ли держатели сжигать свои токены;
  • «Add approveAndCall function?» (отмечается галочкой): эта функция позволяет держателю токена оплачивать другой контракт в токенах и немедленно получать желаемые действия от вызываемого контракта;
  • Preminted frozen tokens: позволяет держателям получить установленное количество токенов сразу после создания токена, но в замороженном состоянии (можно не указывать либо указать неограниченное количество пользователей, получающих premint токены):
    1. Address of token holder: адрес держателя токена;
    2. Amount of tokens: количество токенов;
    3. Date and time of unfreezing: дата и время размораживания (когда токены станут доступны для переводов и трат).

Указав необходимые данные, вы получите код контракта.

Деплой контракта будет осуществлен за 0.3 эфира (через кошелек MetaMask).

Вы также можете указать возможность открыть публичный доступ к контракту, поставив галочку на пункте Allow public access to the contract UI.

После деплоя, вы сможете просмотреть развернутый контракт на Etherscan либо перейти к управлению контрактом в разделе «My contracts».

Подробная информация о контракте

Вам доступна следующая информация о созданном контракте:

  • адрес контракта в Etherscan;
  • Token name: название токена;
  • Total supply: общее число существующих токенов;
  • Decimal places: количество десятичных чисел в дробной части токена;
  • Number of owners: число владельцев, добавленных в смарт-контракт;
  • «Am I owner?»: проверяет, является ли текущий адрес одним из владельцев кошелька;
  • Quorum requirement: количество подписей, необходимых для выполнения действий на этом кошельке;
  • Token ticker: аббревиатура названия токена;
  • Owners: возвращает список всех текущих владельцев кошелька.

Функции опроса

Вы можете воспользоваться опрашивающими функциями для получения информации о состоянии контракта и значениях, связанных с каким-либо адресом или другими условиями, которые вы должны указать. Эти функции не выполняют никакие изменений в блокчейне:

  • availableBalanceOf: посмотреть доступный баланс владельца;
  • Check owner (isOwner): проверить, является ли указанная учетная запись одним из владельцев кошелька;
  • Get balance (balanceOf): получить баланс токенов на любом адресе;
  • m_sales: имеет ли адрес привилегированную возможность выдавать замороженные токены;
  • «Is operation confirmed?» (hasConfirmed): проверить, подтверждена ли операция владельцем;
  • Get n-th owner (getOwner): возвращает указанного n владельца;
  • View allowance (allowance): просмотреть количество токенов, которое указанный владелец токенов разрешил потратить другому адресу;

Функции записи

Для изменения состояний и значений смарт-контракта нужно воспользоваться функциями записи, вносящими новую информацию в блокчейн. Все эти функции потребляют некоторое количество газа:

  • Approve spending (approve): разрешить указанному адресу тратить указанное количество ваших токенов;
  • setSale: установка или снятие привилегированного статуса с адреса;
  • Remove owner (removeOwner): удалить указанного владельца;
  • Transfer from (transferFrom): перевести токены из одного аккаунта в другой;
  • Burn tokens (burn): уничтожить указанное количество токенов, принадлежащих текущему счету;
  • frozenTransfer: выдача токенов в замороженном состоянии (доступно только для адресов со статусом sale);
  • Decrease approval (decreaseApproval): уменьшить количество ваших токенов, которые могут быть потрачены по указанному адресу;
  • Add owner (addOwner): добавить нового владельца;
  • Transfer tokens (transfer): отправить указанное количество ваших токенов другому адресу;
  • Revoke confirmation (revoke): отменить подтверждение операции текущего владельца.
  • Change quorum requirement (changeRequirement): изменить количество подписей, необходимых для выполнения действий на этом кошельке (снять деньги, изменить владельцев и т. д.);
  • setKYCProvider: адрес контракта с интерфейсом IKYCProvider, опционально использующегося как один из критериев разморозки токенов;
  • Increase approval (increaseApproval): увеличить количество ваших токенов, которые могут быть потрачены указанным адресом;
  • frozenTransferFrom: забрать замороженные токены (доступно только для адресов со статусом sale);
  • Change owner (changeOwner): изменить адрес существующего владельца;
  • disablePrivileged: отключить навсегда все привилегированные функции (заморозка, ...), токен становится автоматическим, владельцы не имеют привилегий.