i-avatar777 / yii2-service-blockchain-table
Таблица с валидацией данных
Installs: 170
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:project
Requires
- php: >=5.4.0
- yiisoft/yii2: *
Requires (Dev)
This package is auto-updated.
Last update: 2024-11-27 05:43:46 UTC
README
Введение
Эта таблица предназначена для того чтобы сохранять данные в таблице целостность которых можно проверить.
Записаить в строку можно только один раз. Вместе с сохранением расчитывается хеш от всей строки и записывается в поле _hash_row
.
Класс наследуется от класса \yii\db\ActiveRecord
и реализует несколько функций:
- calculateHash - расчитать хеш
- isValid - расчитывает хеш при помощи
calculateHash
и сравнивает с полем_hash_row
Реализация
Нельзя второй раз переписывать данные, это задача решается помещением каждой строки как транзакции в таблицу транзакций. Транзакции упаковываются в блоки. Блок содержит 1000 записей. Блок содержит ссылку на предыдущий блок и хеш своего блока.
Block
{
'id' => 1,
'hash' => '123123',
}
Transaction
{
'id' => 1,
'table_id' => 324,
'row_id' => 324,
'hash' => '123123',
}
Как называется таблица Transaction ?
допустим blockchain_transaction
Как называется таблица Block ?
допустим blockchain_block
Как называется таблица Table ?
допустим blockchain_table