CyberWay. Изменения в смарт-контрактах приложения Голос
Уважаемые пользователи платформы! Мы продолжаем работать над расширением возможностей смарт-контрактов, используемых приложением Голос. Взаимодействуя друг с другом, системные смарт-контракты и смарт-контракты приложения создают блокчейн-систему, “заточенную” под надежную, быструю, корректную работу.
В данном посте мы знакомим вас с изменениями в некоторых смарт-контрактах.
Cмарт-контракт golos.publication
Смарт-контракт golos.publication обеспечивает работу с постами, в том числе предоставляет пользователям возможность выполнять следующие действия: публиковать посты, оставлять комментарии, голосовать за посты. Система производит действия по закрытию постов, а также обеспечивает выплату вознаграждения авторам постов.
В логику смарт-контракта Golos.publication (публикация) добавлены следующие операции-действия:
reblog
- используется для размещения поста, заимствованного у другого автора в рамках данного смарт-контракта, а также для добавления собственного текста к посту в виде заметки или комментариев (эту операцию называют также “репост”);setcurprcnt
- используется автором поста для задания или изменения ранее заданной доли (в процентах), отчисляемой кураторам от общего вознаграждения за пост (автор поста может самостоятельно задавать процент кураторских отчислений в рамках диапазона значений, установленного делегатами);closemssg
- является внутренней и пользователю недоступна. Используется для закрытия поста;calcrwrdwt
- является внутренней и пользователю недоступна. Используется для вычисления веса поста с учетом количества публикаций, выполненных автором за определенное время;paymssgrwrd
- является внутренней и пользователю недоступна. Используется для выплат сумм вознаграждений за пост кураторам, бенефициарам и автору.
Более подробную информацию о возможностях смарт-контракта публикации можно найти на странице: https://cyberway.gitbook.io/ru/v/master-ru/developers/golos_contracts/golos.publication_contract
Cмарт-контракт golos.social
Смарт-контракт golos.social предоставляет пользователям следующие возможности:
- создание и редактирование профилей (метаданных) пользователей;
- заведение пин-списка, позволяющего его владельцу получать информацию о публикациях интересующих его пользователей;
- заведение «черного» списка, позволяющего блокировать общение владельца данного списка с нежелательными по его мнению пользователями.
Из смарт-контракта Golos.social (социальный) удалена логика по поддержке репутации пользователя, в том числе удалена операция-действие: changereput
, ранее позволяющая изменять репутации пользователя, а также таблица для сбора данных, на основании которых определяется репутация пользователей. Удаление данной операции-действия из смарт-контракта обусловлено тем, что репутация пользователя не влияет на распределение вознаграждения.
Однако, поскольку репутация является важной характеристикой пользователя, она будет поддерживаться на уровне "клиента".
Более подробную информацию о возможностях смарт-контракта социальный можно найти на странице: https://cyberway.gitbook.io/ru/v/master-ru/developers/golos_contracts/golos.social_contract
Cмарт-контракт golos.ctrl
Смарт-контракт golos.ctrl содержит логику выбора делегатов, в том числе процедуру регистрации аккаунта как делегата, процедуру голосования за делегата, а также составление списка делегатов с учетом их рейтинга. Это позволяет проверять достоверность заверенных делегатами действий.
В смарт-контракте управления находятся настройки, которые относятся как к приложению в целом, так и изменяющие параметры каких-либо подсистем (например, распределение эмиссии между пулами). Логика смарт-контракта управления позволяет другим смарт-контрактам получать значения этих настроек, в том числе: кривых графиков выплат, процентных соотношений распределяемых средств по пулам, ограничений на ресурсы батареек.
В логику смарт-контракта Golos.ctrl (управление) добавлены следующие операции-действия:
stopwitness
— используется для приостановки активных действий делегата (или кандидата в делегаты);startwitness
— используется для возобновления активных действий делегата или кандидата в делегаты.
Делегату/кандидату в делегаты предоставляется возможность приостанавливать на определенное время свою деятельность с последующим ее возобновлением.
Более подробную информацию о возможностях смарт-контракта управление можно найти на странице: https://cyberway.gitbook.io/ru/v/master-ru/developers/golos_contracts/golos.ctrl_contract
Cмарт-контракт golos.charge
Смарт-контракт golos.charge выполняет прикладную функцию — позволяет ограничивать активность пользователей при создании постов, комментариев, а также при голосовании за посты.
Непосредственного взаимодействия пользователя со смарт-контактом golos.charge не происходит, обращение к операциям-действиям происходит через смарт-контракт публикации.
В логику смарт-контракта Golos.charge (батарейка) добавлены операции-действия usenotifygt
и usenotifylt
. Данные операции являются внутренними и пользователю недоступны. Они используются для уведомления смарт-контракта публикации о превышении или соблюдении пороговых значений использования ресурсов батарейки. На основании полученных нотификаций смарт-контракт публикации определяет вознаграждения за посты, которые публикуются пользователем с превышением его допустимой активности.
Более подробную информацию о о возможностях смарт-контракта батарейки можно найти на странице: https://cyberway.gitbook.io/ru/v/master-ru/developers/golos_contracts/golos.charge_contract
Cерия статей, раскрывающих идею и принципы функционирования блокчейна CyberWay и приложения Голос:
- Ответы на вопросы о CyberWay часть 6, Ответы на вопросы о CyberWay часть 5, Ответы на вопросы о CyberWay часть 4, Часть 3, Часть 2, Часть 1
- Golos.io: Адаптация к блокчейну CyberWay
- Основные положения CyberWay
- CyberWay: предпосылки создания платформы. Основные отличия от EOS
- Разработка новой блокчейн-платформы CyberWay. Дорожная карта проекта
- Функционирование смарт-контрактов приложения Голос на платформе БЧ CyberWay
- Техническая реализация bandwidth на платформе CyberWay
- Testnet: Экспериментальная версия
- Общее о структуре таблиц в MongoDB, Коллекции таблиц (документов) в MongoDB, используемых в системных контрактах, Коллекции таблиц (документов) в MongoDB, используемых в контрактах приложения Голос - коллекция контракта golos.charge, Коллекция контракта golos.publication, Коллекции контракта golos.vesting
- CyberWay. Доменные имена и имена пользователей
- CyberWay. Событийная модель. Часть 1, Часть 2
- CyberWay. Вычисление вознаграждений за пост в приложении Голос. Часть 1, Часть 2
Каналы коммуникации с Golos•Core
- https://t.me/goloscoretc (решение технических вопросов, связанных с работой блокчейн, нод, api и др.)
- https://t.me/joinchat/BLwf_A118xQ57nsM1Q4MPA (канал для вноса предложений от комьюнити, обсуждение перехода на кодовую базу EOS)
- https://t.me/golos_tools (решение вопросов по различным интерфейсам и дополнительным инструментам, создаваемым Golos•Core)
- https://t.me/goloscore_analytics (решение вопросов по работе экономики блокчейн, статистическим экономическим данным, аналитике данных)
- https://t.me/goloscoretech (новостной канал, с актуальной информацией от Golos•Core)
Мы будем очень рады, если вы поддержите делегата @goloscore. Заходите на страничку https://golos.io/~witnesses голосуйте за делегата Golos•Core!
Спасибо за внимание и хорошего дня!
С уважением, команда Golos•Core: @andreypf, @maslenitsa, @muhazokotuha, @zxcat, @annaeq, @anazarov79, @kaynarov, @s-medvedev, @eugin, @dedbaraded, @jimak.