Skip to content

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

Другой пример работы с Ledger – операции купли и продажи акций. Акционеры хранят ценные бумаги дома, на счету в депозитарии или ограничиваются записью в реестре (бездокументарная ценная бумага). Во всех этих случаях акционер не застрахован от кражи или утери документов. А в случае продажи ценных бумаг необходимо обращаться за помощью к посреднику – например, в депозитарий.

Мы также хотим обратить внимание клиентов на удобство применения Ledger для ведения медицинской карты пациентов и выписки больничных листов. Записи об истории болезней будут доступны только конкретным лицам (врачам, работодателю или страховой компании) безопасным и конфиденциальным способом. Мы приветствуем решения, которые обеспечат рост качества услуг в здравоохранении.

Кроме того, Ledger одинаково удобно использовать в следующих ситуациях:

  • формирование резюме (а также трудовой книжки);
  • накопление баллов и кэшбека в бонусных, скидочных картах или картах миль;
  • создание перечней о выплаченных налогах, имеющихся штрафах (задолженностей), имуществе и доходах (для налоговой декларации);
  • быстрая подача заявок на кредит или получение страхового свидетельства (когда в Ledger заранее внесены все необходимые сведения для банка или страховой компании);
  • решение правовых вопросов объектов авторского права: хранение данных о принадлежности произведений конкретных авторов (и распределении прав между ними), данных о купленных и проданных произведениях (для потребителей контента и владельцев прав).

Сценарии использования

Разберем сценарий использования, когда смарт-контракт Ledger применяется для верификации диплома об окончании университета.

1) Администратор запускает в сеть смарт-контракт Ledger с полями Text field (ФИО), Text hash field, Url field (ссылка на скан диплома), File hash field. 2) Администратор добавляет в Ledger данные о выпускниках какого-либо факультета и года выпуска. 3) Администратор публикует данные смарт-контракта на официальном сайте университета. 4) Выпускник в резюме указывает факт окончания университета и возможность проверить наличие диплома через смарт-контракт. 5) Потенциальный работодатель переходит на платформу Smartz и открывает страницу публичной панели управления смарт-контракта. 6) Потенциальный работодатель ищет с помощью панели управления нужного человека по полю ФИО. 7) Потенциальный работодатель находит нужного человека и проверяет URL со сканом диплома и хеш файла, чтобы убедиться в подлинности документа.

Данные для создания смарт-контракта

На платформе Smartz.io в разделе Ledger необходимо указать:

  • Instance name: имя смарт-контракта, которое будет отображаться в разделе My Contracts;
  • Ledger name: имя учетной книги, например «Diplomas Ledger»;
  • Ledger description: описание учетной книги, например «MSU Faculty of Computational Mathematics and Cybernetics 2020»;
  • Record name: название записи, например «Student».

Для выбора (отмечаются галочкой) доступны 4 поля:

1. Text field: текстовое поле; Text field description: описание тестового поля, например «Full name».

2. Text hash field: хэш текстового поля; Text hash field description: описание хэша тестового поля, например «Full name hash» – вычисляется автоматически.

3. Url field: поле для UR; Url field description: описание для поля URL, например «URL with diploma scan».

4. File hash field: поле для хэша файла; File hash field description: описание для поля хэша файла, например «Hash of diploma scan».

Указав необходимые данные, вы получите код контракта.

Деплой контракта происходит бесплатно (через кошелек MetaMask). Вы также можете указать возможность открыть публичный доступ к контракту, поставив галочку на пункте Allow public access to the contract UI.

После деплоя, вы сможете просмотреть развернутый контракт на Etherscan либо перейти к управлению контрактом в разделе «My contracts».

Подробная информация о контракте

Вам доступна следующая информация о созданном контракте:

  • адрес контракта;
  • Ledger name: имя указанной вами учетной книги;
  • Ledger description: сделанное вами описание учетной книги;
  • Record type: тип, указываемый по названию записи;
  • Records count: количество сделанных записей – от 0 и больше;
  • Owner: адрес владельца контракта в сети Ethereum.

Функции опроса

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

  • Find record by id (records): найти запись в учетной книге по указанному ID.
  • Find Student by Full name (findByFullName): в примере используется поиск студента по полному имени.
  • Find Student by Full name hash (findByFullNameHash); вы также можете найти студента (в этом примере) по хэшу.
  • Find Student by URL with diploma scan (findByUrlWithDiplomaScan): поиск студента c помощью указанного при деплое URL-адреса.
  • Find Student by Hash of diploma scan (findByHashOfDiplomaScan): поиск студента с помощью хэша (необходимо загрузить файл).

Функции записи

Для изменения состояний и значений смарт-контракта нужно воспользоваться функциями записи, вносящими новую информацию в блокчейн. Все эти функции потребляют некоторое количество газа.

  • Add Student to ledger (addRecord): добавить запись в учетную книгу – необходимо указать название записи, имя хэша, URL-адрес и выбрать файл для вычисления хэша.
  • Transfer ownership (transferOwnership): передать право добавлять записи в учетную книгу – необходимо указать адрес того, кто получит права владельца.