Fabric-Gateway 相关接口解析(5)- Contract接口【适用于fabric V2.5】

这段代码定义了Hyperledger Fabric中的Contract接口。Contract接口代表了链上的一个智能合约,并提供了与该合约交互的方法。接下来我们来详细分析这个接口的功能。

  1. 获取链码名称

    String getChaincodeName();
    

    此方法返回链码的名称,该链码包含了一个或多个智能合约。

  2. 获取合约名称

    Optional<String> getContractName();
    

    该方法返回智能合约的名称。由于链码可以包含多个合约,此方法提供了一个方法来获取特定合约的名称。返回值是一个Optional,这意味着合约名称可以不存在。

  3. 提交交易

    byte[] submitTransaction(String var1) throws EndorseException, CommitException, SubmitException, CommitStatusException;
    byte[] submitTransaction(String var1, String... var2) throws EndorseException, SubmitException, CommitStatusException, CommitException;
    byte[] submitTransaction(String var1, byte[]... var2) throws EndorseException, CommitException, SubmitException, CommitStatusException;
    

    这些方法提供了不同的重载,允许用户提交交易到合约。第一个参数通常是要调用的合约函数的名称,后续参数是传递给该函数的参数。

  4. 评估交易

    byte[] evaluateTransaction(String var1) throws GatewayException;
    byte[] evaluateTransaction(String var1, String... var2) throws GatewayException;
    byte[] evaluateTransaction(String var1, byte[]... var2) throws GatewayException;
    

    这些方法也提供了不同的重载,它们允许用户评估合约函数的结果,而不实际提交它。这通常用于查询链上的数据。与submitTransaction类似,第一个参数是要调用的合约函数的名称,后续参数是传递给该函数的参数。

  5. 新建提案

    Proposal.Builder newProposal(String var1);
    

    此方法允许用户新建一个提案。提案是Fabric中一种特殊的交易,它需要被背书节点背书后才能被提交到网络。这个方法提供了一个方式来创建这样的提案。

从功能上看,Contract接口是客户端应用与链上智能合约交互的主要方式。它提供了提交交易、查询交易结果和创建提案等核心功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值