蚂蚁区块链开发-联盟链创建及管理
通过本文,您将了解在蚂蚁区块链中如何创建联盟以及联盟中的角色及权限,以及管理联盟区块链,管理合约工程,管理联盟应用,管理联盟配置,管理联盟机构等事宜。
联盟是一个虚拟组织,由多个机构组成。联盟机构可以:
登录控制台,点击 产品与服务 > 区块链 > BaaS 平台 进入 BaaS 控制台。
点击 我的联盟 ,如果您当前没有联盟,可点击 添加联盟 。
我的联盟
在 创建联盟 窗口中,选择创建类型,即 为合作商户创建联盟 或 创建自己的联盟 ,然后设置联盟信息(如下图所示):
联系邮箱 :联盟创建者邮箱。
1
配置完毕后,点击 创建 ,此时联盟创建成功。 我创建的联盟 区域将展示刚创建联盟。
联盟创建成功后,您可以邀请机构加入联盟、添加联盟链,具体操作参见 管理联盟机构 和 管理联盟区块链 文档。
联盟内包含两种不同的角色:
各个联盟角色所对应的功能权限如下表(Y 表示支持;N 表示不支持):
功能/角色 | 联盟管理员 | 联盟机构成员 |
---|---|---|
联盟内的链 | - | - |
- 创建链 | Y | N |
- 上传证书 | Y | Y |
- 下载证书 | Y | Y |
- 下载 SDK | Y | Y |
- 重置证书 | Y | Y |
- 查看链详情 | Y | Y |
- 管理合约链账号 | Y | Y |
- 查看合约链配置 | Y | Y |
- 查看合约链节点 | Y | Y |
- 申请合约链节点 | Y | N |
合约 | ||
- 创建/编辑/保存合约 | Y | Y |
- 使用 Cloud IDE | Y | Y |
应用 | ||
- 创建应用 | Y | Y |
- 发布应用 | Y | Y |
- 共享/取消共享到联盟 | Y | Y |
- 下载应用 | Y | Y |
联盟配置 | ||
- 创建/修改/导入业务数据模型 | Y | N |
- 查看业务数据模型 | Y | Y |
联盟管理 | ||
- 邀请机构 | Y | Y |
- 审批加入联盟 | Y | N |
- 冻结机构 | Y | N |
- 增加管理员 | Y | N |
- 删除管理员 | Y | N |
您可以在 BaaS 控制台中对区块链进行以下管理操作:
说明: 仅合约链支持节点管理、账户管理及配置管理操作。
进入联盟后,完成以下步骤,创建区块链:
在左侧导航栏中,点击 联盟内的链 > 立即订购 。您也可以申请 30 天免费体验链进行体验,申请审核通过且链创建完成后,系统会以邮件方式通知您。注意一个租户只能申请一次体验链。
1
在购买页面,选择联盟,购买的区块链将会配置在您所选的联盟内。然后根据需求选择区块链版本、数量及时长,并点击 立即购买 进行付费(参见 购买指南 > 付费说明 )。完成购买后,系统将自动为您配置区块链,配置完成会发送邮件通知您。
11
12
登录 BaaS 控制台,进入 联盟 > 联盟内的链 页面,该页面会显示上一步中购买的区块链,系统默认区块链名称为 “蚂蚁合约链-链ID”,点击 编辑 图标可进行修改。
13
如果您购买的是企业版,您将在联盟中看到系统为您配置的生产环境链和测试环境链。
15
在 BaaS 平台管理人员为您创建好区块链后,您可以申请区块链权限。操作步骤如下(具体细节,参见 快速开始 ):
如果您忘记自己的私钥文件或密码,或者不想使用以前的证书,可以选择重置证书。操作步骤如下:
在左侧导航栏中,点击 联盟内的链 ,在右侧的联盟区块链页面上选择需要重置证书的区块链,然后点击 重置证书 。
重置2
在弹出的 重置证书 窗口中,选择接收验证码的邮箱地址,输入获取的验证码,然后点击 提交 。
1
提交之后,您可以重新申请证书。具体步骤参见 快速开始 > 申请蚂蚁区块链 。
说明: 重置证书需要重新生成证书请求。
成功申请区块链权限之后,点击 浏览器 进入区块链浏览器,您会看到以下信息:
您可以在区块链查询栏中输入区块链高度或交易哈希查询块信息或交易信息。
交易详情页展示当前链上交易的关键信息,如时间戳、所在区块高度、发起账户和目标账户等等。如果当前区块链已开通 蚂蚁区块链 C 端浏览器服务 ,则还会提供该交易的二维码。授权用户可通过扫描二维码获取交易相关存证信息。查看 链查询权限 章节内容了解相关信息。
您可以查看当前区块链的节点列表,包括节点地址,服务端口,共识状态等信息。联盟管理员可以编辑修改节点所有者。
如需新增节点,可以由联盟管理员通过 提交工单 进行申请。
您可以创建和查看区块链上的账户。联盟内所有成员可见。
重要: 蚂蚁区块链 BaaS 平台并不会为您保存私钥,请自行妥善保管私钥。
您可以查看当前区块链配置。所有配置都可动态修改并生效。
在公测期间,动态修改配置功能暂不开放。
您可以对当前区块链进行 跨链数据连接服务 配置和 外部数据源连接服务 配置。目前,仅联盟管理员有权限管理跨链配置。
在链管理页面上,点击 跨链管理 标签并从其下拉菜单中选择 跨链数据连接服务 ,然后点击 申请开通 ,您将被引导至跨链数据服务页面进行开通。
1
点击阅读《使用须知》,点击 立即开通 ,输入您的联系方式以及简单描述跨链场景,包括区块链类型,例如:蚂蚁区块链之间跨链,用于溯源业务。提交申请后,我们将审核您的请求,与您联系为您开通服务。
2
注册您的区块链是开始跨链连接的第一步。注册区块链后,跨链数据连接服务将访问您的区块链,并在您的区块链上部署跨链合约,用于跨链信息传递。
点击 注册区块链 进入注册页面。
3
选择要注册的区块链类型,完成相应的注册步骤。目前该服务支持蚂蚁区块链和 HyperLedger Fabric,如果您需要注册其他类型的区块链,请 提交工单 联系我们。
如果您注册的是蚂蚁区块链,系统将自动读取您在蚂蚁金服 蚂蚁区块链BaaS平台 上的区块链列表,您可以从列表中选择您要注册的区块链。注意,仅蚂蚁区块链的联盟管理员有权限进行此操作。
然后,为区块链创建一个域名,该域名将会是跨链授权时区块链的唯一识别身份。
4
如果您注册的是 Hyperledger Fabric,可按照页面上的操作提示进行注册。
5
下载跨链链码包,创建 channel,安装链码包。
创建账户或申请证书,获取配置文件。
注册区块链,提供账户或证书,上传配置文件。
在页面上创建区块链域名,上传第二步中获取的 connection-standard.yaml 的配置文件。
注册成功后,提供区块链锚定信息,包括跨链 channel 名称,选择验证节点,提供第二步中创建的用户名和密码。
6
或者您也可以直接上传证书和私钥。
7
注册完成后,可以在控制台上看到已经注册的链信息
点击已注册区块链 右侧的详情按钮,进入到详情页。
跨链授权-1
点击跨链授权功能,进入到授权页面。
8
授权已经注册的另外一条区块链通过跨链服务访问当前区块链的账本数据。
10
授权已经注册的另外一条区块链的指定合约向当前区块链的指定合约发送消息。
合约消息推送
上图的授权示例中,区块链crosschain1.oracle.chain允许区块链crosschain2.oracle.chain 的合约 sourceContract 发送消息给本区块链上的合约 destContract。
注意 :如果您未进行授权设置,那么通过 跨链数据连接服务进行的跨链账本数据访问和消息推送将会失败。
如果有其他区块链为您授权,您可以在 我的权限 模块查看。
12
用户智能合约使用账本数据访问 API 接口,开发流程如下:
业务合约开发参考:
用户智能合约使用合约消息推送服务API接口,开发流程如下:
业务合约开发参考:
在链管理页面上,点击 跨链管理 标签并从其下拉菜单中选择 外部数据 ,可开启外部数据源连接服务。
13
服务开通后,您可以管理当前的公共数据源和私有数据源。
公共数据源 如果要启用 BaaS 平台提供的公共数据源,可点击 公共数据源 标签,选择需要的数据源,在操作栏中点击 启用 即可;不需要某些公共数据源时,则选择对应的数据源,在操作栏中点击 停用 即可。
私有数据源 如果还需要访问其他数据源,可点击 私有数据源 > 新增外部访问 ,填写数据源相关信息并保存。新增的数据源在 BaaS 管理员审核通过之后即可使用。
开通私有数据源
要使用链查询权限功能,需要先前往 蚂蚁区块链应用市场 ,开通蚂蚁区块链 C 端浏览器服务。查看 蚂蚁区块链 C 端浏览器服务 说明文档了解相关内容。
开通蚂蚁区块链 C 端浏览器服务后,系统自动将链上的每条交易生成二维码并展示在交易详情页上。经区块链管理员的授权,C 端用户(即个人用户)可通过支付宝客户端或支付宝 蚂蚁区块链浏览器 小程序,扫码查看链上的交易存证。
C 端支付宝用户授权操作如下:
注意 :仅联盟管理员可以进行授权操作。
登录 BaaS 平台、进入联盟后,选择拥有链查询权限功能的区块链,点击 管理 按钮,进入联盟区块链管理页面。
2
点击 链查询权限 标签,点击 新增授权 。当前支持两种授权方式:
3
授权指定支付宝账户 录入手机号码后,绑定该手机号码的支付宝账户均可以扫该链上的交易二维码。
授权所有支付宝账户 即所有的支付宝均可以扫该链上交易的二维码。
暂不授权 若不需要授权,则选择 暂不授权 ,不开放该链的支付宝账户查询。
进行授权后,链查询权限页面将展示已授权的支付宝账户、查询的支付宝账户和查询次数的统计信息,供管理员查看。点击 修改 按钮可修改授权方式。
通过本文,您将了解如何创建和管理合约工程。合约工程可以包含多个合约开发文件,同时与 Cloud IDE 结合使用,方便用户管理和开发智能合约。
home
您可以通过以下两种方式创建合约工程:
合约工程模板是已经实现某些基本功能的合约工程。您可以利用工程模板提供的基础功能代码,开发符合自己业务逻辑的智能合约。
创建步骤如下:
createbymodel
目前,很多存证类的合约的很多功能都有固定的格式代码对应,例如增、删、改、查功能、权限控制功能、日志功能、时间触发器等。因此,蚂蚁区块链开放联盟链提供一套自动化的智能合约代码生成工具,帮助用户通过配置数据表的形式来快速定义和生成合约,提高效率。
说明 :目前合约工程工具仅支持创建 C++ 版本的智能合约。
创建步骤如下:
createbytool
合约工程创建完成后,可通过点击界面上的 编辑 按钮跳转到 Cloud IDE 内进行智能合约的代码开发。
可通过点击界面上的 删除 按钮删除某个合约工程。删除操作不会影响已经部署在链上的合约实例。
联盟内区块链应用的管理流程主要包含以下 4 个步骤:
基于区块链 SDK 进行应用开发,具体操作参见 SDK 开发指南 。
从左侧导航栏选择 应用 > 本机构内应用 ,然后从右侧的应用列表中选择要上传的区块链应用,点击 上传版本 查看当前应用已上传版本。
上传
点击 上传应用 ,根据提示输入应用相关信息,上传版本,服务器会自动将其构建成 Docker 镜像。具体操作如下:
输入应用基本信息,包括应用名称、应用描述、标签、版本(如 1.0.1)以及此版本功能描述。填写完毕后,点击 下一步 。
设置应用启动配置。在发布时,可添加需要的自定义配置,如连接数据库地址等。若没有,则点击 下一步 跳过此步骤。
设置数据初始化依赖。在发布时,可添加需要的相关数据,如初始数据库表,若没有,则点击 下一步 跳过此步骤。
上传应用。点击 上传应用 ,将已签名的可执行 JAR 包上传到服务器。上传完毕后,下方编辑框中会展示构建 Docker 镜像的 Dockerfile。
重要: 上传应用时,需要先对 JAR 包签名,然后再上传签名后的 JAR 包。有关如何对 JAR 签名,参见 JAR 包签名 章节内容。
(可选)编辑 Dockerfile。编辑 Dockerfile,定制 Docker 镜像。若不需要,点击 完成 。
应用上传完毕后,点击 返回应用管理 。刚发布的应用处于 Docker 构建中,需要等待一段时间。
应用版本构建完毕后,可以选择 共享到联盟 。共享之后,联盟中其他机构可以在 应用 > 联盟内共享应用 中查看该应用。
您已 生成证书请求 ,成功申请并下载证书文件。
生成 pkcs12 证书,其中 key_pkcs10.pem
在生成证书请求过程中已经生成, cert.pem
为下载的证书文件。
openssl pkcs12 -inkey key_pkcs10.pem -in cert.pem -passin pass:****** -export -out key.p12 -passout pass:****** -name alias_name
检查生成的 pkcs12 证书。
keytool -list -keystore key.p12
给 JAR 包签名。
jarsigner -verbose -keystore key.p12 -signedjar signed_jar_name.jar origin_jar_name.jar alias_name
验证签名。
jarsigner -certs -verify signed_jar_name.jar
从左侧导航栏选择 应用 ,可以查看 联盟内共享应用 及 平台应用 ,点击 查看详情 ,查看相应应用的相关信息。
在弹出的窗口中,点击 下载 ,将应用下载到本地。
联盟内应用
解压应用 .zip 包后,按照文件中的 Readme 操作即可。
管理联盟配置,包括创建、修改和查看业务数据模型。
说明:
说明 :仅联盟盟主有权创建业务数据模型。
配置数据格式。可通过以下两种方式进行配置:
方式一:添加数据表
在页面右上方,点击 添加数据表 。
输入数据表名。
根据业务需求,在数据表名称下方的输入框中输入分类名称,创建分类。一个联盟链上可以创建多个分类。
点击 添加 按钮创建该分类下的字段。可添加多个字段。
添加数据表
方式二:导入数据格式
在页面右上方,点击 导入数据格式 。
在 导入数据格式 窗口中,选择 BaaS 平台提供的预置数据格式,点击 确定 完成导入。
导入数据
导入完成后,界面展示具体的数据格式信息,您可以在此基础上进行添加或者修改,生成新的数据格式。
完成导入数据
说明 :仅联盟盟主有权修改业务数据模型。
选择一条链,点击 下一步 ,查看当前联盟链的数据模型配置。
对联盟机构进行管理,包括邀请其他机构加入当前联盟,冻结机构。BaaS 平台支持邀请企业或个人用户加入联盟。
您已创建好联盟,或已经是某个联盟的机构成员。
在 BaaS 平台首页,选择要邀请机构加入的联盟,进入该联盟页面。
在左侧导航栏中,点击 联盟管理 > 联盟机构 > 邀请机构 ,输入受邀请机构的电子邮箱或手机号码。如要同时邀请多个机构,可点击 添加成员 ,输入相应的联系信息,然后点击 发送 即可。
1
受邀机构收到邀请邮件或短信通知后,登录金融科技控制台,进入 BaaS 平台 > 我的联盟 ,点击 加入联盟 ,然后在弹窗中输入邀请邮件或短信中提供的邀请码并提交。此时受邀机构处于加入联盟待审核的状态。
说明:
2
审批加入联盟的申请。具体操作如下:
点击 详情 ,在审批窗口中进行审批操作。
审批
审批通过后,受邀机构成功加入联盟,成为联盟机构。
说明: 仅联盟管理员有权限执行冻结操作。
一旦发现任何机构在联盟链中上传违法违规信息,如色情内容、反动言论等,联盟管理员可以将该机构冻结。被冻结机构将无法再进入该联盟,其在联盟链上已经申请的证书也会被吊销。
具体操作如下:
在 BaaS 平台首页,选择要被冻结的机构所在的联盟,进入该联盟页面。
在左侧导航栏中,点击 联盟管理 > 联盟机构 。
在联盟机构列表中,选择要冻结的机构,点击操作列中的 冻结 。
在 确认冻结联盟机构 窗口中,选择接收验证码的邮箱地址,输入获取的验证码以及冻结理由,然后点击 提交 。被冻结机构的状态将变为 冻结 。
冻结
确认冻结
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!