Поддерживающий стандарт 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 токены):
- Address of token holder: адрес держателя токена;
- Amount of tokens: количество токенов;
- 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
: отключить навсегда все привилегированные функции (заморозка, ...), токен становится автоматическим, владельцы не имеют привилегий.