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


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

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

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

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

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

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

balances

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

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

{
    "_id" : ObjectId("5cb5783b710a09490e7e45bd"),
    "charge_symbol" : NumberDecimal("91600047785729"),
    "token_code" : "GOLOS",
    "charge_id" : NumberDecimal("1"),
    "last_update" : NumberDecimal("1577837382000000"),
    "value" : NumberLong(7982),
    "_SERVICE_" : { ... }
}

Параметры

  • charge_symbol — символ токена батарейки;
  • token_code — код токена, имеющего привязку к батарейке charge_id;
  • charge_id — идентификатор батарейки;
  • last_update — время последнего обращения к батарейке;
  • value — значение заряда батарейки.

restorers

Коллекция RESTORERS содержит документы с описанием функций (математических выражений), по которым происходит восстановление ресурсов батареек.

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

{
    "_id" : ObjectId("5cb5783b710a09490e7e450c"),
    "charge_symbol" : NumberDecimal("91600047785729"),
    "token_code" : "GOLOS",
    "charge_id" : NumberDecimal("1"),
    "func" : {
        "varssize" : NumberDecimal("3"),
        "operators" : [
            NumberDecimal("0"),
            NumberDecimal("0"),
            NumberDecimal("4"),
            NumberDecimal("3")
        ],
        "values" : [
            {
                "kind" : NumberDecimal("1"),
                "idx" : NumberDecimal("1")
            },
            {
                "kind" : NumberDecimal("0"),
                "idx" : NumberDecimal("1")
            }
        ],
        "nums" : [
            NumberLong(2048000000),
            NumberLong(614400)
        ],
        "consts" : [ ]
    },
    "max_prev" : NumberLong("922337203685477"),
    "max_vesting" : NumberLong("922337203685477"),
    "max_elapsed" : NumberLong("922337203685477"),
    "_SERVICE_" : { ... }
}

Параметры

  • charge_symbol — символ токена батарейки;
  • token_code — код токена, имеющего привязку к батарейке charge_id;
  • charge_id — идентификатор батарейки;
  • (object) func — функция, задающая алгоритм восстановления ресурса батарейки:

    • varssize — математическое выражение:
      • (array) operators — массив операторов, определяющий порядок выполнения операций;
      • (array) values — массив применяемых значений переменных и констант к операциям; значения выбираются по индексам из массивов nums и consts;
      • (array) nums — массив переменных, используемых в операциях;
      • (array) consts — массив констант, используемых в операциях;
  • max_prev — максимально допустимое значение предыдущего ресурса батарейки;
  • max_vesting — максимально возможное значение вестинга, которое может быть израсходовано функцией в качестве аргумента в процессе восстановления ресурса батарейки;
  • max_elapsed — максимально допустимый период времени с момента предыдущего обращения к батарейке.

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


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. Заходите на страничку /~witnesses голосуйте за делегата Golos•Core!
Спасибо за внимание и хорошего дня!

С уважением,

Команда Golos•Core: @andreypf, @korpusenko, @maslenitsa, @muhazokotuha, @zxcat, @annaeq, @anazarov79, @kaynarov, @s-medvedev, @eugin, @dedbaraded, @jimak.


Comments 1