solineun / exam-sheet-system Goto Github PK
View Code? Open in Web Editor NEWimplementation of code for a bachelor's diploma on the topic of electronic records management system based on blockchain technology
implementation of code for a bachelor's diploma on the topic of electronic records management system based on blockchain technology
нужно определиться как хранить блоки, транзакции, метаданные
большая часть блокчейнов использует noSql key-value базы данных
ответ с https://stackoverflow.com
so most of them use (key, value) pairs to store data. There is no restriction to the kind of data that can be stored. Generally the actual data is not directly stored in Blockchain but the computed hash values of it. Read about Merkle trees, it will clear a lot of things up!
ответ с https://bitcoin.stackexchange.com
bitcoin stores the data of blockchain not in a database "key-value", but in raw file data. However, Bitcoin uses the levelbd (and in the last update it could be supported also SQLite) to store the information about the mempool a.k.a chainstate directory.
The chain state contains only small information regarding the UTXO and nothings else. All the information is stored on the disk because it is impossible (in my knowledge) to store in a faster way the information in any type of database
итог БД используется только вне контура блокчейна
Метод генерации массива случайных байтов для транзакции
Переписать медот генерации хэша без использования стринга, в идеале без обертки в любой объект, только с байт-массивом, так как, данные можно вытянуть или заменить из обжект-пулла.
Можно написать логику подсчета хэша в конструкторе блока. При создании в конструктор передаются все необходимые значения, на их основе высчитывается хэш блока. Всю логику нужно поместить в отдельный метод
Подпсиь применяется при созднии нового блока на поле, содержащее хеш создаваемого блока
пользователи внутри системы взаимодействуют согласно концепции Р2Р
Без реализации такой идеи система теряет принцип децентрализации, однако ее реализация становится проще и при этом не теряется возможность пользователям прийти к консенсусу
Метод подсчета хэша вершины дерева на основе списка с хэшем данных
spring boot? по идее я делаю рестфул сервис, нужно будет обмениваться жсонами, возможно простого спринга будет достаточно
При генерации генезис-блока можно использовать данные из кофиг-файла для настройки работы системы
При подключении создаются:
При создании аккаунта пользователь вводит сид-фразу, из которой генерируется пара приватных\публичных ключей и адресс аккаунта(послежние 160 бит публичного ключа)
Написать реализацию дерева Меркла для подсчета хэша из нескольких массивов байтов за оптимальное время. В дальнейшем реализовать метод валидации данных.
Первый майнер запускает у себя программу и генерирует генезис-блок, создаает ноду в п2п сети со своим адресом
Далее по ходу присоединения к сети новых майнеров, среди них распространяются актуальные копии блокчейна
Hexadecimal не виден в классе модели. Нужно отображение хэша в шестнадцатиричном формате
Метод подсчета хеша для созданного блока
Метод возвращающий байт-массив для генерации конечного хеша транзакции
как проверять, что транзакцию подписал именно препод?
разобраться как в целом происходит подпись ключами
https://medium.com/blockchaintechnologies/blockchain-mechanics-private-and-public-keys-ef5e0e6223ef
Вычисление хэша для создаваемой транзакции
сериализовать документ (например в жсон) пока выглядит наиболее удобным вариантом
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.