1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/medical-alliance-medical-blockchain

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 5.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 08:27 f1ed68f

Медицинская блокчейн

Введение

На основе блокчейна хранится медицинская информация (простая модель).

  • Генерация публичного и приватного ключей в блокчейне.
  • Подписание данных с помощью приватного ключа.
  • Проверка подписи с помощью публичного ключа.
  • Хеширование данных в блокчейне.
  • Размещение данных в цепочке блоков.
  • Валидация данных в блокчейне.
  • Браузер для работы с блокчейном.

Программное обеспечение (на основе fisco bcos)

Версия: 2.60. Ссылка: https://fisco-bcos-documentation.readthedocs.io/.

Инструкция по использованию

  1. См. «fisco—bcos развёртывание» (в разделе «Документы»).
  2. Установите Python.
  3. См. раздел «Установка python sdk fisco—bcos».
  4. Выполните команду python ficso_bcos_before.py.
  5. Скопируйте результат в файл client_config.py в поле contract_address.

Архитектура системы

См. схему архитектуры системы.

Дизайн контракта

Подробности о контракте см. в разделе «Контракт».

См. процесс работы контракта.

Вызов SDK

Размещение данных

Запрос: http://0.0.0.0:5081/api/p/medical/blockchain/upload. Сообщение запроса:

{
    "file_hash": хеш данных,
    "file_data": исходные данные,
    "file_pubkey": публичный ключ,
    "file_sign": подпись,
    "file_time": временная метка
}

Ответ: Если хеш данных уже существует, возвращается:

'error': 'Данные существуют'

Если хеш данных не существует, возвращается:

{   
    'blockHash': '0x9d4afaa7318d0a099bc74427cbe80527494b5e1c22500ef74d921f35bc77627d', 
    'blockNumber': '0x11', 
    'gasUsed': '0x201d2', 
    'transactionHash': '0x80e2012e09e23aaa13df60add72cdf74b501a6a999060803d4e3c84360b69d8d', 
    'contractname': '0x1f494c56c3ad1e6738f3500d19499cd3541160ea', 
    'error': '0'
}
Запрос данных

Запрос: http://0.0.0.0:5081/api/p/medical/blockchain/download. Сообщение запроса:

{
    "file_hash": хеш данных
}

Ответ: Если хеш данных не существует, возвращается:

{
    'error': 'Данных не существует'
}

Если хеш данных существует, возвращается:

{
    "file_hash": хеш данных,
    "file_data": исходные данные,
    "file_pubkey": публичный ключ,
    "file_sign": подпись,
    "file_time": временная метка, 
    'blockHash': '0x9d4afaa7318d0a099bc74427cbe80527494b5e1c22500ef74d921f35bc77627d',
    'blockNumber': '0x11', 
    'contractAddress': '0x1f494c56c3ad1e6738f3500d19499cd3541160ea',
    'gasUsed': '0x201d2', 
    'transactionHash': '0x80e2012e09e23aaa13df60add72cdf74b501a6a999060803d4e3c84360b69d8d', 
    'transactionIndex': '0x0'
}
Создание публичных и приватных ключей

Запрос: http://0.0.0.0:5081/api/p/medical/blockchain/crate. Сообщение запроса:

{
    "key": пароль, заданный пользователем
 }

Ответ:

{
    'prvkey': 'Приватный ключ',
    'address': адрес
}
Подписание с помощью приватного ключа

Запрос: http://0.0.0.0:5081/api/p/medical/blockchain/sign. Сообщение запроса:

{
    "prvkey": приватный ключ,
    "text": строка
 }

Ответ: Если приватный ключ правильный:

{
    'sign': 'Подпись'
}

Неправильный:

"error": 'Формат приватного ключа неправильный'
Проверка с помощью публичного ключа

Запрос: http://0.0.0.0:5081/api/p/medical/blockchain/verify. Сообщение запроса:

{
    "sign": подпись,
    "text": строка,
    "address": адрес
 }

Ответ: Если публичный ключ и формат подписи правильные:

"status": 'Проверка не удалась'/'Проверка прошла успешно'

Неправильные:

"status": 'Ошибка формата'
Хеширование

Запрос: http://0.0.0.0:5081/api/p/medical/blockchain/hash. Сообщение запроса:

{
    "text": строка
 }

Ответ:

{
    "hash": хэш данных
}

Веб-страница

Адрес страницы: https://gitee.com/medical-alliance/medical-blockchain.

Создание публичных и приватных ключей:

Подписание с помощью приватного ключа:

Проверка с помощью публичного ключа:

Хеширование:

Размещение данных:

Запрос данных:

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/medical-alliance-medical-blockchain.git
git@api.gitlife.ru:oschina-mirror/medical-alliance-medical-blockchain.git
oschina-mirror
medical-alliance-medical-blockchain
medical-alliance-medical-blockchain
master