CDK construct to deploy a Hyperledger Fabric network running on Amazon Managed Blockchain
npm install @cdklabs/cdk-hyperledger-fabric-network





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
Note that this construct requires AWS CDK v2.
#### JavaScript
``bash`
npm install --save @cdklabs/cdk-hyperledger-fabric-network
#### Python
`bash`
pip3 install cdklabs.cdk-hyperledger-fabric-network
#### Java
Add the following to pom.xml:
`xml`
#### .NET
`bash`
dotnet add package Cdklabs.CdkHyperledgerFabricNetwork
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.
`typescript
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:
`python
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.
`typescript``
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.
* AWS CDK
* Amazon Managed Blockchain
* Hyperledger Fabric
* Node Fabric SDK
* Fabric Chaincode Node
Pull requests are welcomed. Please review the Contributing Guidelines
and the Code of Conduct.
See CONTRIBUTING for more information.
* Jud Neer (judneer@amazon.com)
* Vignesh Rajasingh (vrajasin@amazon.com)
This project is licensed under the MIT-0 License. See the LICENSE file for details.