1、整体介绍
Lighthouse 长安链发布上线后在社区广受好评,同时也有不少社区朋友前来咨询小编如何基于Lighthouse 长安链开发自己的应用,比如区块链数字藏品、区块链存证、区块链游戏等等,那必须得安排。
因此我们将持续的根据应用场景推出教程文章。
其中区块链存证是指使用区块链技术,将数据信息上传到区块链上,生成唯一凭证,本文将将讲述如何通过Lighthouse 长安链镜像,在长安链上进行区块链存证。
主要内容如下:
- 购买lighthouse长安链镜像,自动部署长安链和长安链管理台应用
- 登录长安链管理台,通过可视化界面将信息进行存证。
- 或者通过SDK接口调用,对信息进行存证。
2、购买Lighthouse 长安链服务
我们首先在腾讯云Lighthouse轻量应用服务器购买页面,购买一台服务器。如下图所示。
服务器具体配置如下
- 镜像类型:应用镜像
- 应用名称:长安链Chainmaker
点击立即购买,按步骤付款之后,即可在自己购买的腾讯云服务器上拥有了一套长安链环境。
3、通过长安链管理台进行区块链存证
3.1、登录长安链管理台
进入Lighthouse(轻量应用服务器)控制台,在服务器模块找到自己购买的长安链服务,点击进入服务详情。
在应用管理里,找到长安链管理台应用,其中
- 登录地址为该管理台的访问地址
- 默认到账户名为admin,默认密码可点击登录按钮,登录到服务器内并输入如下指令获取密码。
cat /home/chainmaker/credentials.txt
使用上文获取到的账户和密码登录管理台。
3.2、查看长安链
登录后在区块链管理处,可看到已经内置部署的长安链,主要配置信息如下
序号 | 内容 | 说明 |
---|---|---|
1 | 长安链版本 | V2.3.0 |
2 | 链id | chain1 |
3 | 组织数 | 4个组织 |
4 | 节点数 | 4个共识节点 |
5 | 共识算法 | TBFT |
6 | 单区块最大交易容量 | 100笔交易 |
7 | 交易过期时长 | 600s |
8 | 交易间隔 | 10ms |
9 | 是否支持docker_VM | 支持 |
3.3、查看智能合约
- 进入区块链管理-合约管理的界面,可以看到已经内置部署的几个常用的智能合约。包含存证合约,ERC-20合约,ERC-721合约。
- 合约的源代码及详细介绍,可查看合约介绍章节。
3.4、使用智能合约进行区块链存证
切换到区块链管理-上链管理界面,点击发起上链按钮,调用已经安装的存证合约进行存证
- 选择存证合约,并选择调用
save
合约方法,然后输入所需的参数。其中:- key:为该存证的唯一id,可自定义填写
- data:为要存证的具体内容,如果是文件存证的话,一般可填写该文件的哈希值。
- desc:为存证内容的介绍
- 点击确认,即完成区块链存证的过程。发送成功后,可到区块链浏览器里查看详情。
3.5、查验存证内容
除了支持存证外,还支持查询链上已存证的信息。在上链管理处选择调用find
合约方法,并输入已存证信息的key
,进行查询。
3.6、部署新的智能合约
若有部署新的智能合约(包含但不限于存证类的合约)的需求,可以通过长安链管理台或者SDK将合约部署到长安链在进行管理。
4、通过SDK、CMC等工具进行存证
此外,lighthouse长安链产品,与长安链其他生态工具,如SDK、浏览器、CMC工具、合约IDE、Web3插件等也相互兼容,可以搭配使用。
支持通过如长安链SDK、CMC工具等方式,调用存证智能合约,进行存证和查验功能。
5、智能合约介绍
5.1、合约列表
目前在lighthouse 长安链中预先部署了4个示例合约,如下表所示:
序号 | 合约名称 | 合约功能 |
---|---|---|
1 | SaveContract | 存证合约,可保存Key-Value及描述信息 |
2 | ERC20Contract | ERC20合约,基本符合以太坊官方标准,可作为Token发布的Demo |
3 | ERC721Contract | ERC721合约,基本符合以太坊官方标准,可作为NFT发布的Demo |
并在 /home/chainmaker/contract/demos
目录中,放置了合约源码,及部分单元测试代码
下文我们主要介绍下存证合约。
5.2 存证合约
5.2.1 合约函数集
函数名 | 函数类型 | 函数说明 | 入参说明 | 返回值 | 备注 |
---|---|---|---|---|---|
save | 执行 | 保存对象 | key:数据存储的key data:数据存储的内容 desc:数据存储的描述(可选) | 数据存储的key | 重复的key会将原数据覆盖 |
find | 查询 | 查询对象 | key:数据存储的key | 存储内容的JSON格式 | 对象结构体:
type EvidenceInstance struct {
Key string |
进行save操作,即保存对象至底链时,若保存成功会触发 保存 事件,该事件主题为:topic_save
5.2.2 合约使用指南
存证合约的使用非常简单,主要包括两个部署:
- 1)保存数据:调用save函数对数据进行存储;
- 2)查询数据:调用find函数查询已经存储的内容;
6、版本升级说明
近期,腾讯云Lighthouse长安链又双叒叕的升级啦!此次升级主要围绕长安链最新开源版本2.3.0更新展开,可支持体验长安链最新版本特性,同时通过优化技术实现方案,将机器配置调整到2核4G,方便开发者可以更低的成本购买并体验长安链。
目前lighthouse 长安链 V2.3.0 版本已发布,本版本更新的内容如下:
- 内置部署v2.3.0版本的长安链管理台,支持部署公钥模式的长安链。
- 内置v2.3.0的版本的长安链,支持体验长安链最新版本新特性。
- 与长安链其他生态工具,如SDK、浏览器、CMC工具、合约IDE、Web3插件等无缝衔接。
- 优化技术实现方案,支持2核4G机器配置,方便用户更低成本购买并体验长安链。
产品获取链接:https://cloud.tencent.com/product/lighthouse
产品使用文档:https://cloud.tencent.com/developer/article/2029056