io.github.cdklabs.cdkhyperledgerfabricnetwork.package-info Maven / Gradle / Ivy
Show all versions of cdk-hyperledger-fabric-network Show documentation
/**
* Hyperledger Fabric on Amazon Managed Blockchain
*
* This repository contains a CDK construct to deploy a Hyperledger Fabric network
* running on Amazon Managed Blockchain. It builds out a member and its nodes, a VPC
* and associated endpoint to access them, and a set of users enrolled on the network.
*
* The following functionality is planned for future releases:
*
*
* - Create channels on nodes
* - Instantiate chaincode on nodes
*
*
*
Installation
*
* Note that this construct requires AWS CDK v2.
*
*
JavaScript
*
*
* npm install --save @cdklabs/cdk-hyperledger-fabric-network
*
*
*
Python
*
*
* pip3 install cdklabs.cdk-hyperledger-fabric-network
*
*
*
Java
*
* Add the following to pom.xml
:
*
*
* <dependency>
* <groupId>io.github.cdklabs</groupId>
* <artifactId>cdk-hyperledger-fabric-network</artifactId>
* </dependency>
*
*
*
.NET
*
*
* dotnet add package Cdklabs.CdkHyperledgerFabricNetwork
*
*
*
Usage
*
* A minimally complete deployment is shown below. By default, a standard network
* will be created running Hyperledger Fabric 1.4 with a single bc.t3.small
node.
*
*
* import { Stack, StackProps } from 'aws-cdk-lib';
* import { Construct } from 'constructs';
* import { HyperledgerFabricNetwork } from '@cdklabs/cdk-hyperledger-fabric-network';
*
* class MyStack extends Stack {
* constructor(scope: Construct, id: string, props?: StackProps) {
* super(scope, id, props);
* new HyperledgerFabricNetwork(this, 'Example', {
* networkName: 'MyNetwork',
* memberName: 'MyMember',
* });
* }
* }
*
*
* The equivalent Python code is as follows:
*
*
* from aws_cdk import Stack
* from cdklabs.cdk_hyperledger_fabric_network import HyperledgerFabricNetwork
*
* class MyStack(Stack):
* def __init__(self, scope, id, **kwargs):
* super().__init__(scope, id, **kwargs)
* HyperledgerFabricNetwork(
* self, 'Example',
* network_name='MyNetwork',
* member_name='MyMember',
* )
*
*
* The following is a more complex instantiation illustrating some of the options available.
*
*
* new HyperledgerFabricNetwork(this, 'Example', {
* networkName: 'MyNetwork',
* networkDescription: 'This is my Hyperledger Fabric network',
* memberName: 'MyMember',
* networkDescription: 'This is my Hyperledger Fabric member',
* frameworkVersion: hyperledger.FrameworkVersion.VERSION_1_2,
* proposalDurationInHours: 48,
* thresholdPercentage: 75,
* nodes: [
* {
* availabilityZone: 'us-east-1a',
* instanceType: hyperledger.InstanceType.STANDARD5_LARGE,
* },
* {
* availabilityZone: 'us-east-1b',
* instanceType: hyperledger.InstanceType.STANDARD5_LARGE,
* },
* ],
* users: [
* { userId: 'AppUser1', affilitation: 'MyMember' },
* { userId: 'AppUser2', affilitation: 'MyMember.department1' },
* ],
* });
*
*
* See the API Documentation for details on all available input and output parameters.
*
*
References
*
*
* - AWS CDK
* - Amazon Managed Blockchain
* - Hyperledger Fabric
* - Node Fabric SDK
* - Fabric Chaincode Node
*
*
*
Contributing
*
* Pull requests are welcomed. Please review the Contributing Guidelines
* and the Code of Conduct.
*
*
Security
*
* See CONTRIBUTING for more information.
*
*
Authors
*
*
* - Jud Neer (judneer@amazon.com)
* - Vignesh Rajasingh (vrajasin@amazon.com)
*
*
*
License
*
* This project is licensed under the MIT-0 License. See the LICENSE file for details.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
package io.github.cdklabs.cdkhyperledgerfabricnetwork;