常见问题

产品使用

  1. 新建用户后要怎么使用?

    答:BaaS平台上的“新建用户”功能,可以理解为该业务组织的管理员,为该新建用户在Fabric-CA中执行了register操作。新建用户完成后,可以通过fabric-ca-client或者使用Fabric SDK执行enroll操作。注意此类用户没有组织管理员的权限,也无法注册其他新用户

    Fabric 各语言的SDK示例程序可以参考帮助文档:GoJavaNode

  2. 要实现完整的区块链应用开发,最低需要购买哪些资源?

    答:如果要实现完整的区块链应用开发,需要至少创建一个联盟及一个组织。阿里云BaaS服务中,联盟包含了区块链运行所需要的Orderer节点等基础资源,但不包括存放区块链数据及对交易进行背书的Peer节点,Peer节点是归属到组织内的。

  3. 如果区块链BaaS的所有节点都部署在阿里云上,如何保证数据的不可篡改?

    答:阿里云BaaS服务使用了多维度的安全隔离机制,从底层的账本数据存储、云服务器、网络安全组,到业务组织的CA节点,以及区块链节点和智能合约运行环境,均实现了多租户的隔离。

    由于Hyperledger Fabric本身的数据结构的特点,区块通过HASH构成一个链式结构,在区块和交易上均包含对应参与组织的证书及签名,伪造签名是极为困难的,这导致修改数据的代价非常大,任何数据的修改会导对应的签名失去有效性。

    同时,Hyperledger Fabric的联盟链网络也保证了数据分布在多方手里,仅修改一方数据是无效的。

链码管理

  1. 正常上传链码,为何报错?

    答:出现类似如下错误提示时,{“Action”:”CreateChaincode”,”RequestId”:”AD33--CEA3”,”Message”:”后端管理服务异常[com.aliyun.governor.model.GovernorException: Local CCPackage doesn’t satisfied sha256(49f6--fee8) that provided(10e8-*-d038).]”},是由于已经有用户上传了相同名称、版本,但是内容不同的链码,需在检查确认后修改链码的名称或版本,然后重新上传。

  2. 上传的链码文件为何无法安装?

    答:您需要在本地对链码测试完毕,然后通过BaaS平台提供的脚本工具,或通过Hyperledger Fabric的peer chaincode package命令,将链码及依赖打包成一个文件后进行上传。

版本支持

  1. BaaS当前支持Hyperledger Fabric什么版本?

    答:BaaS 当前支持 Hyperledger Fabric 1.4.5 版本,各版本的更新说明可以参考社区的发布记录

  2. 阿里云BaaS对于Hyperledger Fabric版本的升级策略是怎样的?

    答:以保证用户业务稳定性为基本原则,如果Hyperledger Fabric新版本新特性具备普适性明显价值点,阿里云则会从其大版本下的第一个补丁包版本开始选用。例如当Fabric大版本为1.4,则会从1.4.1或之后的补丁包版本中选择一个进行升级。特殊情况下,如果有较多用户对某个大版本的初始版本有明显需求,阿里云会在充分研究和全面测试后考虑升级。

    阿里云BaaS提供的Hyperledger Fabric版本升级,仅对新创建的区块链网络自动采用新版本。对已有旧版本区块链网络,用户可自主选择合适的时间窗口进行升级,相关版本和数据的兼容性与Hyperledger Fabric保持一致。

    此外,对于不同用户(企业)的组织构成的联盟,建议各组织选用一致的Hyperledger Fabric版本。

部署形态

  1. BaaS如何实现Hyperledger Fabric的高可用部署?

    答:BaaS在多个层次实现了Hyperledger Fabric的高可用部署:

    • 在容器服务Kubernetes层,Kubernetes集群采用了多Master节点、多Worker节点的高可用配置,并且使用了Pod Anti-Affinity技术确保Hyperledger Fabric组件集群部署的高可用
    • 在Hyperledger Fabric层,各组件采用了如下的高可用配置:
      • 每个联盟默认配置3个Orderer节点,同时采用etcd-raft共识算法。
      • 每个业务组织默认至少2个Peer节点(用户自定义Peer数量的功能,暂未对外开放)。
      • 每个业务组织的CA节点支持双节点集群部署,同时CA集群采用了高可用版阿里云RDS数据库(CA集群功能仅限于企业版和企业安全版)。
    • 在应用访问层,BaaS提供了负载均衡和健康检查能力(基于阿里云SLB),保证应用访问后端服务的高可用性,同时支持Hyperledger Fabric的Service Discovery能力,以保证应用可动态访问到健康的区块链节点。
  2. BaaS是否支持私有云部署?

    答:BaaS支持私有云部署方式,可基于以下三种底座进行部署:

    • 阿里云专有云敏捷PaaS。
    • 阿里云专有云企业版中的容器服务。
    • 其他厂商或用户自建的容器平台(基于云原生Kubernetes技术)。

      BaaS私有化产品的界面如下图所示。如有相关需求,请联系阿里云销售团队或售前咨询热线

baas_agility_ui_1

baas_agility_ui_2