hyperledger fabric 的 fabric-samples 示例中的分类帐数据存储在哪里?

Where is the ledger data stored in the fabcar example of fabric-samples for hyperledger fabric?

我是 hyperledger 的新手,正在使用 fabric-samples 中的 hyperledger fabcar 样本。当 initLedger 在 \fabric-samples\chaincode\fabcar\javascript\lib\fabcar 中执行时,我想知道它将汽车数据和随后的块数据保存在哪里,明确地说,这些数据所在的确切目录位置。谢谢

我试过几乎在织物样本的每个位置都找不到任何东西。

.....

    for (let i = 0; i < cars.length; i++) {
        cars[i].docType = 'car';
        await ctx.stub.putState('CAR' + i, Buffer.from(JSON.stringify(cars[i])));
        console.info('Added <--> ', cars[i]);
    }
    console.info('============= END : Initialize Ledger ===========');
}

在函数末尾执行 ctx.stub.putState 时,数据去向何处?

在 Hyperledger Fabric 中,数据存储在两个不同的地方:

  1. Worldstate - 包含资产的最新版本,它可以 更新(LevelDB 或 CouchDB)
  2. 区块链 - 包含资产的全部历史 无法修改。

在这里你可以找到分类账是如何实现的:

HL Fabric - Ledger

通过调用以下 API:

await ctx.stub.putState('CAR' + i, Buffer.from(JSON.stringify(cars[i])));

您正在两个地方写入数据。