试用合约体验链

我们提供了合约体验链方便您快速体验区块链功能,主要介绍如何在体验链上创建证书和账户的相关操作。

重要
  • 合约体验链仅供功能体验,请不要上传您的业务代码和数据。

  • 使用体验链创建账户时,仅支持在控制台上进行创建,不支持通过接口方式创建。

  • 了解如何使用区块链完整服务,请参考 创建联盟

前置条件

您已经开通阿里云 BaaS 服务,并登录阿里云。

申请体验链权限

  1. 登录 阿里云 BaaS 控制台

  2. 蚂蚁区块链 > 概览 页面,选择合约体验链,单击 免费试用

    之后,您可以在该体验链上执行以下操作:

申请TLS连接证书

申请免费试用体验链后,平台将引导您进行TLS连接证书的申请操作。

BaaS 平台提供 自动生成手动生成 两种方式生成证书和密钥。推荐使用安全、便捷的自动生成方式。

说明

证书有效期为三年,过期后请重新申请。

  • 若选择 自动生成,需要完成以下步骤:

    1. 填写必要的申请信息,单击 申请

    2. 下载私钥和证书。

      说明

      私钥只有一次下载机会,务必妥善保存,离开页面后不能再找回。

      证书私钥下载

  • 若选择 手动生成,需要完成以下步骤:

    上传本地生成的证书请求文件 client.csr,单击 申请。本地生成私钥 client.key 和证书请求 client.csr 的具体步骤,参见本文 本地生成证书请求和公私钥对

创建链上账户

  1. 单击体验链卡片右上角的更多按钮 ··· ,在弹出的菜单栏中单击创建账户

    创建账户

  2. 在弹窗中,选择一种创建方式后,根据页面提示完成创建。

    平台提供手动创建和自动创建两种方式创建账户,推荐使用安全且便捷的自动创建方式。

    • 若选择 手动创建,请按以下步骤完成创建。

      1. 选择 手动创建 的创建方式后,填写账户名称、账户公钥、账户恢复公钥的信息。

      2. 完成后,单击 申请

        说明

        您可使用客户端工具便捷生成和管理公私钥,关于本地生成公私钥对和恢复公私钥对的具体步骤,参见本文的 本地生成证书请求和公私钥对

    • 若选择 自动创建,则需要您妥善保存账号相关的密钥信息。

      1. 选择 自动创建 的创建方式后,填写账户名称、账户密码及账户恢复密码的信息。

      2. 完成后,单击 申请

      3. 创建成功后,请在弹窗中下载账户对应的私钥、公钥对及恢复私钥、恢复公钥,后续应用开发时需要使用到。

        image

        重要

        私钥只有一次下载机会,请您妥善保管账户的私钥信息,离开此页面后无法再次下载。

调试并部署合约

完成 TLS 连接证书申请和链上账户创建的操作后,您可以单击免费体验链上的调试合约,进入平台提供的 Cloud IDE 在线合约开发工具的页面。Cloud IDE 支持多语言类型的合约开发、编译、调试、部署和调用的能力,相关操作可参见使用Cloud IDE

SDK连接

证书、账户申请成功后,单击体验链右上角更多按钮 ··· 依次下载签名证书、下载 SDK、下载根证书(trustCa)、下载根证书(ca.crt),并把相应的组建和证书保存到本地,即可为后续合约链开发做准备。有关合约链开发配置,请参见 开发指南

下载根证书

区块链浏览器

使用SDK与体验链建立连接并发起链上交易后,单击体验链上的查看链详情,即可进入区块链浏览器页面,支持在该页面查看链相关的基本信息,包括业务总量统计、网络状态、节点详情、当前块高,以及对应交易量变化、区块和交易等。

image

说明

有关区块链浏览器的使用说明,请参见查看区块链浏览器

本地生成证书请求和公私钥对

使用 OpenSSL

说明

macOS 系统无需手动安装 OpenSSL。

安装 OpenSSL

在 Windows 操作系统中安装 OpenSSL 步骤如下:

  1. 前往 OpenSSL 下载页面(英文),找到 1.0.2o 版本(推荐)并下载安装包,或单击下方下载链接:

  2. 打开命令行工具,进入 OpenSSL 安装路径的 bin 目录。

  3. 准备环境变量,在命令行中输入 set OPENSSL_CONF=openssl.cfg

生成证书请求

使用 OpenSSL 制作私钥和证书请求。

重要

务必记住此处设置的私钥密码,并妥善保存私钥文件。

    openssl req -newkey rsa:2048 -keyout key_pkcs10.pem -out csr.pem
    Generatinga 2048 bit RSA private key
    .........................................+++
    ..................................+++
    writingnew private key to 'key_pkcs10.pem'
    EnterPEM pass phrase:
    Verifying- Enter PEM pass phrase:
    -----

在该命令执行过程中,系统会要求您填写如下信息:

  • Country Name (2 letter code):使用国际标准组织(ISO)国码格式,填写 2 个字母的国家代号,如中国填写 CN。

  • State or Province Name (full name):省份,例如填写 Zhejiang。

  • Locality Name (eg, city):城市,例如填写 Hangzhou。

  • Organization Name (eg, company):组织单位,例如填写公司名的拼音。

  • Organizational Unit Name (eg, section):例如填写 IT Dept。

  • Common Name (eg, your websites domain name):进行 SSL 加密的网站域名。

    说明
    • 这里并不是单指您的域名,而是直接使用 SSL 的网站名称,例如:pay.****.com。

    • 不同的 URL 在这里被定义为不同的网站域名,例如:****.com、www.****.com、pay.****.com 会被识别为 3 个不同的网站域名。

    • 这里的网站域名应该和邮件客户端软件设置的 SMTP/POP3 服务器名称一致。

  • Email Address:邮件地址,选填。

  • A challenge password:选填。

  • An optional company name:选填。

使用本地密钥服务

为方便使用,BaaS 平台提供 Java 版本的本地密钥服务。

启动密钥服务

  1. 准备 Java 运行环境,1.7 版本或以上。

  2. 下载密钥生成工具(单击此处 下载)。

  3. 运行命令 java -jar baas-crypto-tool-1.0.0.jar --server.port=8080 启动密钥服务。

生成证书请求

启动密钥服务之后,在浏览器中访问https://localhost:8080/api/crypto/generateTlsKey?algo=rsa&isPkcs8=true&password=${password}生成 tlskey.zip 文件包。解压该 .zip 包后得到 client.csrclient.key。其中,client.key 用于连接区块链,client.csr 需要通过 BaaS 平台界面来进行签名,参见 申请体验链权限 章节。

说明

请把链接中的 ${password} 替换为您自己的密码。

生成公私钥对

启动密钥服务之后,在浏览器中访问https://localhost:8080/api/crypto/generateUserKey?algo=ec&isPkcs8=true&password=${password}生成 userkey.zip 文件包。解压该 .zip 包后得到 user.keypub.txt。其中,user.key 为用户私钥,pub.txt 中的内容为用户公钥。

可以执行该命令两次,生成两个公私钥对,一个用做账户的公私钥对,另一个用做恢复该账户的公私钥对。