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

Как добавить posting ключ

Про ключи

Постинг-ключ — более ограниченный ключ, чем активный. У него нет доступа к средствам на вашем кошельке (например, им невозможно подписать транзакцию с трансфером средств), поэтому при обычной работе с приложением он безопаснее.
Если постинг-ключ окажется скомпрометирован, злоумышленник не получит доступ к вашим активам. А если потерять активный или ключ владельца — можно прощаться с токенами.

Как добавить

В эксплорере https://explorer.cyberway.io можно выполнить любую транзакцию, в том числе добавление и настройку ключей.

Для добавления posting-ключа достаточно выполнить три действия в блокчейне:

  1. добавить сам ключ;
  2. разрешить этим ключом выполнять действия в смарт-контракте публикации (gls.publish) — это для создание сообщений, голосования;
  3. разрешить выполнять действия в социальном смарт-контракте (gls.social) — это нужно чтоб закреплять посты, делать реблоги.

Важно: предполагается, что читатель знает, где посмотреть свой accountId, и у него есть приватная и публичная часть ключей, которые он хочет добавить. Также для выполнения транзакции будет нужен приватный активный ключ. Для тех кто не знает, возможно появятся ссылки/подсказки в комментах.


Удобного интерфейса, чтоб сделать всё это одной кнопкой пока нет, поэтому будем формировать транзакцию вручную в любом редакторе текста, а потом выполним в эксплорере.

Формирование транзакции

Сперва я опишу действия, которые войдут в транзакцию, затем покажу транзакцию целиком, потом расскажу, как её подготовить и отправить в сеть с помощью эксплорера.

Действия

Создание ключа

Первое действие (action) выглядит так:

{
      "account": "cyber",
      "name": "updateauth",
      "authorization": [{ "actor": "<ваш-аккаунт>", "permission": "active" }],
      "data": {
        "account": "<ваш-аккаунт>",
        "permission": "posting",
        "parent": "active",
        "auth": {
          "threshold": 1, "accounts": [], "waits": [],
          "keys": [{ "key": "<ваш-ПУБЛИЧНЫЙ-постинг-ключ>", "weight": 1 }]
        }
      }
}

Оно служит для создания и изменения «ключей» (точнее, авторити, но сейчас это не важно). Здесь необходимо прописать свой accountId в полях <ваш-аккаунт> и публичный ключ в соответствующем месте.
От этого публичного ключа у вас должна быть приватная часть, иначе им невозможно будет воспользоваться.

Связывание ключа с контрактами

Второе и третье действия проще, выглядят так (во третьем gls.publish заменяется на gls.social):

{
      "account": "cyber",
      "name": "linkauth",
      "authorization": [{ "actor": "<ваш-аккаунт>", "permission": "active" }],
      "data": {"account": "<ваш-аккаунт>", "code": "gls.publish", "type": "", "requirement": "posting"}
}

Это действие разрешает постинг-ключу работать в контрактах приложения. Здесь тоже нужно прописать свой аккаунт CyberWay в двух местах.

Готовим транзакцию

Вся транзакция целиком выглядит так:

{
  "actions": [
      {
      "account": "cyber",
      "name": "updateauth",
      "authorization": [{ "actor": "<ваш-аккаунт>", "permission": "active" }],
      "data": {
        "account": "<ваш-аккаунт>",
        "permission": "posting",
        "parent": "active",
        "auth": {
          "threshold": 1, "accounts": [], "waits": [],
          "keys": [{ "key": "<ваш-ПУБЛИЧНЫЙ-постинг-ключ>", "weight": 1 }]
        }
      }
    },
        {
      "account": "cyber",
      "name": "linkauth",
      "authorization": [{ "actor": "<ваш-аккаунт>", "permission": "active" }],
      "data": {"account": "<ваш-аккаунт>", "code": "gls.publish", "type": "", "requirement": "posting"}
    },
        {
      "account": "cyber",
      "name": "linkauth",
      "authorization": [{ "actor": "<ваш-аккаунт>", "permission": "active" }],
      "data": {"account": "<ваш-аккаунт>", "code": "gls.social", "type": "", "requirement": "posting"}
    }
    ]
}
  1. Скопируйте этот фрагмент текста и вставьте в редакторе текста. Все скобки и кавычки важны.
  2. Замените все строчки <ваш-аккаунт> на ваш аккаунт в CyberWay. (Это не то же самое, что имя пользователя на Голосе, например, для @zxcat аккаунт будет xhdtonx5zvnd.)
  3. Вставьте публичный ключ в соответствующее место.
  4. Скопируйте получившийся текст.
  5. Перейдите на https://explorer.cyberway.io/sign?trx=
  6. В адресной строке браузера вставьте скопированный текст транзакции после trx= и нажмите Enter.

    Пример транзакции, а вот тут она выполнилась.

Подписываем и отправляем транзакцию

Если всё сделано правильно, транзакция появится на странице. Если появится не транзакция, а ошибка, значит вероятнее всего где-то потерялись кавычки/скобки, внимательно проверьте, что в тексте транзакции заменено только то, что надо.

Прокрутите страницу вниз, там есть поле для ввода активного ключа. Введите приватный ключ и нажмите кнопку Sign transaction.

Если всё сделано правильно, транзакция уйдёт в сеть, и появится сообщение Transaction signed.

Всё, теперь у вас есть постинг-ключ.

explorergoloscyberwaytutorialинструкция
269
600.373 GOLOS
На Golos с August 2017
Комментарии (28)
Сортировать по:
Сначала старые