Реализация внутренней таблицы в чейнкоде Hyperledger Fabric

Я работаю с цепными кодами ткани и реализовал концепции таблиц, предоставляемые для хранения данных, поскольку блокчейн не позволяет изменять или удалять, мне не терпится узнать внутреннюю реализацию формата таблицы. Есть ли какая-либо документация для этого, если да, пожалуйста, предложите или если кто-нибудь знает и может объяснить.

заранее спасибо


person Abhishek Ranjan    schedule 17.11.2016    source источник


Ответы (1)


Таблицы реализованы с использованием протокольных буферов. Вы можете посмотреть файл table.pb .иди. Этот файл создается автоматически с использованием определений прото-сообщений в таблица.прото .

Кроме того, API чейнкода предоставляет такие функции, как CreateTable, GetTable, DeleteTable, GetRow, GetRows, InsertRow, которые вы можете использовать в своем чейнкоде.

Такие функции, как CreateTable, InsertRow, DeleteTable, которые должны выполнять внутреннюю модификацию данных, используют PutState API для записи значений байтов в бухгалтерскую книгу. PutState упорядочивает структуру, определенную в файле table.pb.go, в байты и сохраняет в бухгалтерской книге.

Точно так же такие функции, как GetRow, GetRows, GetTable, которые должны запрашивать данные, внутренне используют GetState API для чтения значений байтов из леджера. GetState API находит значение в реестре в байтах, а затем преобразует байтовое значение в структуры.

По сути, вы можете взаимодействовать со структурами Go, не заботясь о том, как хранится таблица внутри.

person Sadanand Upase    schedule 20.11.2016