AWS 区块链模版号称可以在几分钟内完成创建并部署区块链网络。
使用 AWS 区块链模版可以搭建两种类型的区块链网络:
具体搭建步骤可以参考AWS Blockchain Templates 开发人员指南,里面有关于搭建 Ethereum 的详细步骤,文档中的「先决条件」设置项是用于搭建 Ethereum 网络的,对 Fabric 网络并不适用,所以这里说一下搭建超级账本的 Fabric。
在使用模版快速创建堆栈前,务必要提前设置好的相关内容:
说明:
一个有权使用相关服务的 IAM 账户(IAM账户,可以理解为在 AWS 根账户下设置子账户,比如说,你可以给你的同事设置一个子账户(子账户有独立的登录链接、用户名、密码),然后为这个子账户开通(登录AWS控制台的)相关操作权限,然后你的同事就可以用这个子账户登录AWS控制台了。
设置一个密钥对(公钥+私钥),用来通过 SSH 方式登录 EC2 实例的。
设置一个 IAM 权限策略文件。
创建一个具有一个公有子网的 VPC 网络。
设置一个安全组(安全组充当防火墙功能),入站流量开通 22 端口、80 端口。
以上的5个前提条件设置正确了,我们就可以用区块链模版创建 Fabric 网络了,下面具体说一下画红框的比较难的两个配置:
设置 IAM 角色并附加权限策略
设置步骤:
- AWS控制台——服务——IAM——角色——创建角色,设置勾选如下:
- 创建策略,Tab页面选 JSON,把下面的 JSON 内容复制进去:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:GetRepositoryPolicy",
"ecr:DescribeRepositories",
"ecr:ListImages",
"ecr:DescribeImages",
"ecr:BatchGetImage",
"s3:Get*",
"s3:List*"
],
"Resource": "*"
}
] }
点击右下角的「Review Policy」,设置这个权限策略文件的名称(myFabricPolicy)和描述(...),最后点击「Create Policy」:
-
回到我们刚才创建角色的页面,添加刚刚创建的策略 (myFabricPolicy)给这个角色,找的时候可以点击「删选策略」——「客户托管」,☑️勾选完之后点击下一步审核:
-
审核页面,给 IAM 角色设置一个角色名称(myFabricIAM),点击「创建角色」:
-
创建完之后,可以点击我们刚刚创建的 IAM 角色查看详情,记住这里的实例配置文件 ARN,在使用区块链模版创建 Fabric 网络时会使用到的。
设置 VPC
设置如下:
AWS控制台——服务——VPC——在VPC控制面板中点击蓝色的按钮「Launch VPC Wizard」,选择带有单个公有子网的 VPC:
设置 VPC 名称、子网名称,其他值为默认值。
使用 AWS 区块链模版创建 Fabric 网络
在 AWS Blockchain Templates 开发人员指南 的Hyperledger Fabric 部分点击启动链接:
设置参考如下:
创建之后,喝一杯咖啡☕️等一会儿...
等状态显示为「CREATE_COMPLETE」就OKK了。
参考
- hyperledger/fabric
- Hyperledger 源码分析之 Fabric
- AWS Blockchain Templates 开发人员指南
- Tutorial: Get started with blockchain using the AWS Hyperledger Fabric template
- How to create a Service Fabric standalone cluster with AWS EC2 instances