Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
goloscore
6 лет назад

Коллекции таблиц (документов) в MongoDB, используемых в контрактах приложения Голос - коллекции контракта golos.ctrl

Уважаемые пользователи!

Информацию о структуре таблиц в MongoDB вы можете найти в постах:

Мы продолжаем описывать базу данных. В настоящей публикации предоставляем вам коллекции контракта golos.ctrl.

В следующих постах будет рассмотрена коллекция таблиц (документов) в MongoDB, используемых в контрактах приложения Голос, выстроенная по следующей структуре:

  • Коллекции контракта golos.publication;
  • Коллекции контракта golos.vesting.

Коллекции контракта golos.ctrl

ctrlparams

Коллекция CTRLPARAMS содержит документы со значениями параметров, устанавливаемых вызовом операции setparams(). При каждом вызове setparams() в базе данных появляется запись — новый документ с установленными значениями параметров.

Пример документа:

"_id" : ObjectId(" ... "),
"id" : NumberDecimal("5075304557665714176"),
"token" : {
         "code" : "GOLOS"
},
"multisig" : {
         "name" : "gls.issuer"
},
"witnesses" : {
         "max" : NumberDecimal("5")
 },
"msig_perms" : {
         "super_majority" : NumberDecimal("0"),
         "majority" : NumberDecimal("0"),
         "minority" : NumberDecimal("0")
},
"witness_votes" : {
         "max" : NumberDecimal("30")
},
"update_auth_period" : {
         "period" : NumberDecimal("300")
},
"_SERVICE_" : { ... }
Параметры
  • id — идентификатор документа, созданный контрактом golos.ctrl;

  • (object) token — символ токена, состоящий из набора прописных букв;

  • (object) multisig — имя аккаунта контракта golos.ctrl;

  • (object) witnesses — максимально допустимое количество делегатов, которое может принимать решение (подписывать транзакции) от имени сообщества;

  • (object) msig_perms — данные о количествах подписей (от начала списка делегатов), необходимых для получения разрешения на выполнение действий от имени делегатов приложения:

    • super_majority — количество подписей, необходимых для получения высокого уровня разрешения;
    • majority — количество подписей, необходимых для получения среднего уровня разрешения;
    • minority — количество подписей, необходимых для получения низкого уровня разрешения;
  • (object) witness_votes — максимально допустимое количество делегатов, за которое может проголосовать пользователь приложения;

  • (object) update_auth_period — период обновления авторизации для аккаунта (в секундах). Повторная смена авторизации для аккаунта не выполняется, если с момента последнего обновления не прошло указанное количество секунд.

msigauths

Коллекция MSIGAUTHS содержит документы с перечнем делегатов, имеющих право на авторизацию от имени аккаунта контракта golos.ctrl.

Пример документа:

"_id" : ObjectId(" ... "),
"id" : NumberDecimal("10816735270133563392"),
"witnesses" : [
         "cip.5ecjnhnw",
         "h4iirxxeeplq",
         "p4qg2hlvzcrl",
         "td.a1xeyhy42",
         "w5ps13o.4.vl"
],
"last_update" : "2019-04-10T15:16:48.000",
"_SERVICE_" : { ... }
Параметры
  • id — идентификатор документа, созданный контрактом golos.ctrl;
  • (array) witnesses — cписок делегатов, имеющих право на авторизацию от имени аккаунта контракта golos.ctrl. Каждый элемент массива имеет тип string — имя аккаунта делегата;
  • last_update — дата и время последнего обновления списка делегатов.

witness

Коллекция WITNESS содержит документы (таблицы) с данными о делегате приложения. Для каждого делегата создается отдельная таблица следующего вида:

"_id" : ObjectId(" ... "),
"name" : "garpblcluwml",
"url" : "",
"active" : true,
"total_weight" : NumberDecimal("156823873341170"),
"_SERVICE_" : { ... }
Параметры
  • name — имя аккаунта делегата;
  • url — URL-адрес веб-сайта, на котором размещена информация о делегате;
  • active — активность делегата (true - активный, false - неактивный);
  • total_weight — вес голоса делегата.

witnessvote

Коллекция WITNESSVOTE содержит документы (таблицы) с перечнем кандидатов в делегаты, за которых голосует пользователь. Для каждого голосующего пользователя создается отдельная таблица следующего вида:

"_id" : ObjectId(" ... "),
"voter" : "24amgkx3owhf",
"witnesses" : [
         "uaamgu4wuv5p",
         "rik2b..fgmst",
         "c2z.zgesp44s",
              . . .
         "kao43flj.4ap"
],
"_SERVICE_" : { ... }
Параметры
  • voter — имя аккаунта, голосующего за кандидатов в делегаты;
  • (array) witnesses — перечень кандидатов в делегаты, за которых голосует voter. Каждый элемент массива имеет тип string — имя аккаунта. Количество элементов не должно превышать значение параметра witness_votes из таблицы коллекции ctrlparams.

Полное описание вы можете найти на гитхабе.


Cерия статей, раскрывающих идею и принципы функционирования блокчейна CyberWay и приложения Голос:


Каналы коммуникации с 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, @korpusenko, @maslenitsa, @muhazokotuha, @zxcat, @annaeq, @anazarov79, @kaynarov, @s-medvedev, @eugin, @dedbaraded, @jimak.


4
134.808 GOLOS
На Golos с August 2017
Комментарии (1)
Сортировать по:
Сначала старые