Реферальная программа
Назначение смарт-контракта golos.referral
Смарт-контракт golos.referral
содержит логику реферальной программы, предусматривающей вознаграждение пользователей, пригласивших для регистрации в приложении Голос своих друзей или сторонних лиц через социальные сети (например, просматривая публикации сторонних авторов или размещая собственные посты о блокчейне). Логика реферальной программы определяет одного пользователя как реферера по отношению к другому (реферала). Смарт-контракт содержит алгоритм вычисления вознаграждения за пост, а также алгоритм завершения действия реферальной программы, в том числе завершение по инициативе пользователя-реферала через выкуп своего аккаунта.
Параметры, устанавливаемые в смарт-контракте golos.referreal
Параметры смарт-контракта устанавливаются делегатами (лидерами) приложения.
Параметры:
breakout_parametrs
— значение в виде структуры, содержащей поля:min_breakout
— минимально допустимое количество токенов, необходимое для выкупа аккаунта-реферала и, соответственно, прекращения реферальной программы;max_breakout
— максимально допустимое количество токенов, необходимое для выкупа аккаунта-реферала и, соответственно, прекращения реферальной программы;
expire_parametrs
— максимально допустимое время действия реферальной программы;percent_parametrs
— максимально допустимый процент отчисления рефереру в течение действия реферальной программы.
Операции-действия, применяемые в смарт-контракте golos.referreal
В смарт-контракте golos.referral
реализованы следующие операции-действия: setparams, validateprms, addreferral, closeoldref.
setparams
Операция-действие setparams
используется для установки (конфигурирования) параметров смарт-контракта. Операция-действие имеет вид:
Параметр params
— значение в виде структуры. Настраиваемые параметры: breakout_parametrs
, expire_parametrs
, percent_parametrs
.
validateprms
Операция-действие validateprms
вызывается смарт-контрактом и используется для проверки параметров на валидность, контролирует наличие в них ошибок.
addreferral
Операция-действие addreferral
используется для создания аккаунта-реферала для приглашенного пользователя. В качестве реферера может быть указан как пользователь, непосредственно пригласивший другого пользователя, так и сторонний аккаунт. Реферер за созданный аккаунт-реферал получает долю в виде процентного отчисления от авторских вознаграждений за публикации реферала.
Операция-действие имеет вид:
Параметры:
referrer
— имя аккаунта-реферера;referral
— имя аккаунта-реферала;percent
— процент выплаты рефереру от дохода реферала. Параметр принимает значение от нуля до установленного делегатами максимально допустимого;expire
— время (в секундах) действия реферальной программы. Значение не должно превышать максимально допустимое время, установленное делегатами;breakout
— количество токенов, которое необходимо для выкупа аккаунта-реферала.
Для выполнения операции-действия closeoldref
авторизация не проверяется. Метод автоматически вызывается при создании нового реферала и при выплате откупа.
closeoldref
Операция-действие closeoldref
является служебной внутренней функцией и используется для освобождения устаревших записей из таблицы активных реферальных программ смарт-контракта. Удаляются данные реферальных программ, действия которых завершены. Операция-действие имеет вид:
Для выполнения операции-действия closeoldref
авторизация не требуется. Вызов выполняется автоматически из addreferral().
Last updated