Api 如何部署Hyperledger结构应用程序

Api 如何部署Hyperledger结构应用程序,api,hyperledger,hyperledger-fabric,Api,Hyperledger,Hyperledger Fabric,我已经准备好了我的链码、4个对等点和一个订购者。我可以通过CLI查询链码,但如何使用API查询链码,以及如何将其部署为webapp。有人可以对此发表评论吗?这是go-to-from文档,展示了如何通过Node.js SDK来编写应用程序以查询结构分类账。这是go-to-from文档,展示了如何通过Node.js SDK来编写应用程序以查询结构分类账。提供了多个SDK,您可以利用它们请在应用程序中添加它们 您可以根据自己的方便选择其中一个,例如,这里提供了一个如何使用Java SDK查询链

我已经准备好了我的链码、4个对等点和一个订购者。我可以通过CLI查询链码,但如何使用API查询链码,以及如何将其部署为webapp。有人可以对此发表评论吗?

这是go-to-from文档,展示了如何通过Node.js SDK来编写应用程序以查询结构分类账。

这是go-to-from文档,展示了如何通过Node.js SDK来编写应用程序以查询结构分类账。

提供了多个SDK,您可以利用它们请在应用程序中添加它们

  • 您可以根据自己的方便选择其中一个,例如,这里提供了一个如何使用Java SDK查询链码的简短示例:

        // Get an instance of Hyperledger Fabric client
        final HFClient client = HFClient.createNewInstance();
    
        // Set default crypto suite for HF client
        client.setCryptoSuite(CryptoSuite.Factory.getCryptoSuite());
    
    现在,您需要设置用户内容,以提供用户名和用于标识其组织中用户的加密材料

        // Set user context
        client.setUserContext(new User() {
    
            public String getName() {
                return "testUser";
            }
    
            public Set<String> getRoles() {
                return null;
            }
    
            public String getAccount() {
                return null;
            }
    
            public String getAffiliation() {
                return null;
            }
    
            // Enrollment is an interface to retrieve certificate and private key of the user in context
            public Enrollment getEnrollment() {
                return new Enrollment() {
                    public PrivateKey getKey() {
                           return privateKey;
                    }
    
                    public String getCert() {
                        return certificate;
                    }
                };
            }
    
            public String getMspId() {
                return "Org1MSP";
            }
        });
    
    最后,我们准备发送交易建议

        // Create transaction request
        final TransactionProposalRequest proposalRequest = client.newTransactionProposalRequest();
    
        final ChaincodeID chaincodeID = ChaincodeID.newBuilder()
                .setName("myCC")
                .setVersion("1.0")
                .setPath("github.com/some_package/package/chaincode/myCC")
                .build();
    
        // chaincode name
        proposalRequest.setChaincodeID(chaincodeID);
        // chaincode function to execute
        proposalRequest.setFcn("some_function");
        // timeout
        proposalRequest.setProposalWaitTime(TimeUnit.SECONDS.toMillis(10));
        // arguments for chaincode function
        proposalRequest.setArgs( // Set arguments based on CC );
    
        // Sending transaction proposal
        final Collection<ProposalResponse> responses = channel.sendTransactionProposal(proposalRequest);
    
        CompletableFuture<BlockEvent.TransactionEvent> txFuture = channel.sendTransaction(responses, client.getUserContext());
    

    其他SDK代码看起来非常相似,这里您可以看看类似的代码。

    提供了几个SDK,您可以在应用程序中利用它们

  • 您可以根据自己的方便选择其中一个,例如,这里提供了一个如何使用Java SDK查询链码的简短示例:

        // Get an instance of Hyperledger Fabric client
        final HFClient client = HFClient.createNewInstance();
    
        // Set default crypto suite for HF client
        client.setCryptoSuite(CryptoSuite.Factory.getCryptoSuite());
    
    现在,您需要设置用户内容,以提供用户名和用于标识其组织中用户的加密材料

        // Set user context
        client.setUserContext(new User() {
    
            public String getName() {
                return "testUser";
            }
    
            public Set<String> getRoles() {
                return null;
            }
    
            public String getAccount() {
                return null;
            }
    
            public String getAffiliation() {
                return null;
            }
    
            // Enrollment is an interface to retrieve certificate and private key of the user in context
            public Enrollment getEnrollment() {
                return new Enrollment() {
                    public PrivateKey getKey() {
                           return privateKey;
                    }
    
                    public String getCert() {
                        return certificate;
                    }
                };
            }
    
            public String getMspId() {
                return "Org1MSP";
            }
        });
    
    最后,我们准备发送交易建议

        // Create transaction request
        final TransactionProposalRequest proposalRequest = client.newTransactionProposalRequest();
    
        final ChaincodeID chaincodeID = ChaincodeID.newBuilder()
                .setName("myCC")
                .setVersion("1.0")
                .setPath("github.com/some_package/package/chaincode/myCC")
                .build();
    
        // chaincode name
        proposalRequest.setChaincodeID(chaincodeID);
        // chaincode function to execute
        proposalRequest.setFcn("some_function");
        // timeout
        proposalRequest.setProposalWaitTime(TimeUnit.SECONDS.toMillis(10));
        // arguments for chaincode function
        proposalRequest.setArgs( // Set arguments based on CC );
    
        // Sending transaction proposal
        final Collection<ProposalResponse> responses = channel.sendTransactionProposal(proposalRequest);
    
        CompletableFuture<BlockEvent.TransactionEvent> txFuture = channel.sendTransaction(responses, client.getUserContext());
    

    与其他SDK代码非常相似,在这里您可以查看类似的代码。

    我要补充的是,还有一个Python SDK@ArtemBarger你能分享有关Fabric Java SDK文档的任何链接吗?换句话说,建议我如何开始为Hyperledger FabricI编写Java代码我只是从这里的示例开始:。如果您需要确切的细节,如maven pom.xml、如何构建它以及依赖关系,请创建一个新问题,因为在注释中很难解释它。另一种可能是在Rocket.Chat channel for java sdk中寻求帮助:我想补充一点,也有一个Python sdk@ArtemBarger你能分享有关Fabric Java SDK文档的任何链接吗?换句话说,建议我如何开始为Hyperledger FabricI编写Java代码我只是从这里的示例开始:。如果您需要确切的详细信息,如maven pom.xml、如何构建以及依赖关系,请创建一个新问题,因为在注释中很难解释它。另一种可能是在Rocket中寻求帮助。java sdk聊天频道: