Fabric 开发手册

问题汇总

一、如何安装Hyperledger Fabric区块链网络?

这个问题,其实应该不是问题,如果确实有问题,请详细阅读 Fabric 网络部署 一节。

二、如何使用通用链码?

个人建议先将Spring Fabric Gateway一节再看一遍。

三、如何获取Fabric网络的基本信息,如区块高度、交易数量等?

个人建议,还是先将Spring Fabric Gateway一节再看一遍。

然后在源码中找到FabricLedger这个类,你会发现,其实你想要的东西都在这里面,什么区块高度、当前交易Hash、通道、组织等等。

怎么才能取到FabricLedger这个对象呢?

因为我们使用的Spring框架,在SpringFabricGatewayAutoConfigure这个配置中,我们已经为你注册了一个IFabricInfoService的服务,你可以直接拿来用。

其实,不止FabricLedger,我们还封装了FabricBlockFabricTransaction等一系列实用的类,方便在实际的应用场景中使用。

不信你看:

public interface IFabricInfoService {

	/**
	 * Query Fabric Info.
	 */
	FabricQueryResponse<FabricLedger> queryFabricLedger();

	/**
	 * Query fabric block by using block number.
	 */
	FabricQueryResponse<FabricBlock> queryBlockByNumber(long blockNumber);

	/**
	 * Query fabric block by using transaction id.
	 */
	FabricQueryResponse<FabricBlock> queryBlockByTransactionID(String txId);

	/**
	 * Query fabric block by using block hash.
	 */
	FabricQueryResponse<FabricBlock> queryBlockByHash(byte[] blockHash);

	/**
	 * Paging query fabric blocks.
	 * 
	 */
	FabricPagination<FabricBlock> queryBlocks(FabricPaginationQuery<FabricBlock> query);

	/**
	 * Query all transactions of a block number.
	 */
	FabricQueryResponse<List<FabricTransaction>> queryTransactions(long blockNumber);

	/**
	 * Query transaction reads and writes of a transaction id.
	 */
	FabricQueryResponse<FabricTransactionRWSet> queryTransactionRWSet(String txId);

	/**
	 * Query history of object with given key and type.
	 */
	FabricQueryResponse<List<FabricHistory>> queryHistory(String type, String key);

	/**
	 * Query transaction with id.
	 */
	FabricQueryResponse<FabricTransaction> queryTransaction(String txid);
}

再次强调一下:

除了区块高度交易Hash这些值以外,如通道链码名节点名这些信息本身从Fabric网络是取不到的,为了使用方便,我们把这些都配置在了配置文件中。

四、如何使用通用链码的Service服务?

正在撰写中……

五、如何使用通用链码的查询功能?

正在撰写中……

六、如何使用通用链码的分页查询?

正在撰写中……

七、使用通用链码,如何自定义自己的数据类型?

正在撰写中……

参考文档

  1. Hyperledger Fabric Gateway SDK for Java
  2. Java SDK for Hyperledger Fabric
  3. Fabric 网络部署
  4. Fabric Network Config
  5. Spring Fabric Gateway
  6. Spring Fabric Explorer

首页