Fabric官方文档各模块作用总结

1、网络创建模块

  • 文件结构如下:

  • 文件说明:

    • docker文件夹中的是网络配置文件
    • configtx文件夹中文件用于创建创世纪区块
    • organizations文件夹用于储存生成的节点证书文件
    • fabric-ca文件夹中是用于生成证书文件的配置文件
    • scripts文件用于存储一些功能脚本文件
    • registerEnroll.sh文件是用于产生节点证书的脚本文件

  • 改网络名称(适应不同的项目)

    • 修改configtx.yaml docker-compose-ca.yaml docker-compose-test-net.yaml文件中的网络名称
    • 修改configtx.yaml文件中网络名称
    • 修改registerEnroll.sh中的网络名称

 

2、通道创建模块

  • 需要复制一个config文件夹,该文件夹结构如下:

  • 脚本文件:

 

修改的脚本文件如下(deployCC.sh ,utils除外),其他文件通过修改network.sh中的network_name即可完成四个脚本(configUpdate.sh、createChannel.sh、envVar.sh、setAnchorPeer.sh)脚本中网络名称的修改。

 

3、安装链码模块

链码安装环节主要是deployCC.sh脚本,该脚本传入的参数过多,通过在network.sh脚本中传入网络名称network_name即可实现脚本中网络名称的统一。本来写在 ~/.bashrc文件中的环境变量,现在直接写在deployCC.sh脚本文件中,方便进行修改。在进行链码安装过程中对于参数的设置应该格外小心,设置错误则会导致无法完成链码的安装工作。

 

4、应用调用智能合约(Java)

进行测试的智能合约以及应用都为assettransfer,应用在进行智能合约调用过程中需要注册管理员,申请用户,之后进行进行连接。

文件结构如下:

EnrollAdmin是注册管理员,RegisterUser是注册用户,App是应用端执行相应的功能。

应用连接智能合约的代码如下:

	public static Gateway connect() throws Exception{
		// Load a file system based wallet for managing identities.
		Path walletPath = Paths.get("wallet");
		Wallet wallet = Wallets.newFileSystemWallet(walletPath);
		// load a CCP
		Path networkConfigPath = Paths.get("..", "..", "test-network", "organizations", "peerOrganizations", "org1.example.com", "connection-org1.yaml");

		Gateway.Builder builder = Gateway.createBuilder();
		builder.identity(wallet, "appUser").networkConfig(networkConfigPath).discovery(true);
		return builder.connect();
	}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值