Как Hyperledger Fabric стоит на хранение машины? - PullRequest
0 голосов
/ 19 октября 2018

Я использую Hyperledger Fabric и Composer, запуская блокчейн, и я делаю 17000+ транзакций, но в одноранговом контейнере это стоит 1,8 ГБ (~ 100 КБ / транзакция). Я вычислил хранилище одной транзакции, которая может стоить только 1 КБ +.Поэтому мой вопрос заключается в том, как ткань сохраняет данные в бухгалтерской книге?
Я использовал rest-api, чтобы найти свои записи, например:

[
  {
    "$class": "org.chembeango.io.Compound",
    "compoundId": "870-77-9",
    "name": "3-acetyloxy-4-(trimethylazaniumyl)butanoate",
    "smiles": "CC(=O)OC(CC(=O)[O-])C[N+](C)(C)C",
    "cas": "870-77-9",
    "source": "pubchem",
    "location": "http://192.168.11.111:9200/compounds",
    "owner": "resource:org.chembeango.io.CompoundParticipant#cp1@email.com"
  },
  {
    "$class": "org.chembeango.io.Compound",
    "compoundId": "pubchem-2",
    "name": "(2-acetyloxy-3-carboxypropyl)-trimethylazanium",
    "smiles": "CC(=O)OC(CC(=O)O)C[N+](C)(C)C",
    "cas": "pubchem-2",
    "source": "pubchem",
    "location": "http://192.168.11.111:9200/compounds",
    "owner": "resource:org.chembeango.io.CompoundParticipant#cp1@email.com"
  },
...

Каждая транзакция может создавать несколько событий, но я недумаю, это может стоить такого большого хранилища за транзакцию.

Конфигурация блока моего канала:

BatchTimeout: 2s

BatchSize:
    MaxMessageCount: 10
    AbsoluteMaxBytes: 99 MB
    PreferredMaxBytes: 512 KB

, и я создаю 1 транзакцию в каждом блоке, каждый из блоков имеет свой минимальный размер?

1 Ответ

0 голосов
/ 23 октября 2018

Я нашел свою проблему, я добавил функцию запроса в мой logic.js, например

const validateActions = await query('selectAllValidateActions');

, и я собрал блок-файлы и обнаружил, что журналы:

,Asset:org.chembeango.io.ValidateAction96�
3
,Asset:org.chembeango.io.ValidateAction96�
3
,Asset:org.chembeango.io.ValidateAction96�
3
,Asset:org.chembeango.io.ValidateAction96�
3
,Asset:org.chembeango.io.ValidateAction96�
3
,Asset:org.chembeango.io.ValidateAction96�
3
,Asset:org.chembeango.io.ValidateAction96�
3
,Asset:org.chembeango.io.ValidateAction96�
3
,Asset:org.chembeango.io.ValidateAction96�
3
,Asset:org.chembeango.io.ValidateAction96�
...

может бытьтранзакция записывает все результаты моего запроса в Главную книгу.
Таким образом, регистр сохранил много бесполезной информации.
Но почему результат запроса составителя может быть сохранен в Главную книгу?

...