Перейти к содержанию

Ключ кооператива

Ключ кооператива хранится на сервере в зашифрованном виде и используется для подписи транзакций при отправке в блокчейн. Пайщики не совершают транзакции в блокчейн самостоятельно и не подписывают их, за них это всегда делает кооператив, и для этого ему необходим приватный ключ. Этот ключ можно только заменить, прочитать его нельзя.

управление ключом

Изменение приватного ключа на текущий момент может потребоваться только в одном случае - если утерян доступ в личный кабинет облачного оператора (ПК ВОСХОД), где кооператив является пайщиком. Тогда ,при восстановлении доступа публичный ключ в блокчейне будет изменен, и потому, ваш цифровой кооператив потеряет возможность совершать транзакции. Для того, чтобы восстановить работу, необходимо предоставить новый ключ на этой странице. Ключ зашифрован и сохранен для дальшейнего использования.

Почему пайщики не подписывают транзакции?

Это архитектурное решение, которое обуслувлено двумя причинами: возникающая повышенная сложность приложений для разработчиков и необходимость следить за собственными вычислительными ресурсами у пайщиков. Блокчейн кооперативной экономики служит бизнес-ядром для кооперативов, но не для пайщиков. Пайщики и разработчики в своей деятельности опираются на функционал цифрового кооператива, который скрывает избыточную сложность от них и упрощает взаимодействие с платформой кооперативной экономики.

Разработчикам

Канонические имена полей и типов — в файле components/controller/schema.gql монорепозитория; интерактивно — в документации GraphQL-API.

Сохранить WIF кооператива (setWif)

⚠️ 🛠️ SDK: Mutations.System.SetWif не найден | Mutation.setWif

import { Mutations } from '@coopenomics/sdk';

const variables: Mutations.System.SetWif.IInput = {
  data: {
    permission: <string>; // Тип разрешения ключа
    username: <string>; // Имя пользователя, чей ключ
    wif: <string>; // Приватный ключ
  };
};

const { [Mutations.System.SetWif.name]: result } = await client.Mutation(
  Mutations.System.SetWif.mutation,
  { variables }
);

Результат:

interface IOutput {
  setWif: <boolean>; // Сохранить приватный ключ в зашифрованном серверном хранилище
}