腾讯TBaaS平台体验区块链
随着人们收入的增加,对债权、产权、版权的确认要求越来越高,谁让连银行大额存款都会不翼而飞呢?区块链正在努力解决这些问题,它是一种去中心化的协议,具有信息不可伪造,自动执行智能合约,无需审核等特点。尽管每人手里一套账本也许是无奈的选择。但谁能想到当初家家互联网线这种笨拙的办法能改变了我们生活,开创了现在这么发达的社会呢?也许虚拟世界正在大踏步的向我们走来。
TBaas区块链技术体验
- 腾讯云区块链服务平台(TBaaS,Tencent Blockchain as a Service)依托腾讯云基础设施,为企业及开发者提供一站式、高安全性、简单易用的区块链服务。
- 现在TBaas上可以部署 长安链·ChainMaker、Hyperledger Fabric、FISCO BCOS三种区块链,都属于联盟链的性质。现在腾讯云举办的长安链的体验活动,体验过程汇总于此。
- 长安链· ChainMaker 是“长治久安、再创辉煌、链接世界”的意思。由北京微芯研究院、清华大学、北京航空航天大学、腾讯、百度和京东等知名高校、企业共同研发。
编写智能合约
- 智能合约就是一组代码(它的 功能 )和数据(它的 状态 )的集合,并且它们是位于长安区块链的一个特定地址上的。
- Solidity是面向智能合约的高级编程语言,设计为以太虚拟机(EVM)上运行。
- 安装环境 编写Solidity语言环境很多,我在JavaScript项目中使用
npm
命令来安装solcjs编译器。npm install -g solc
- 编写测试代码:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.1; contract TestTbaas { string public name; constructor(string memory _name) { name = _name; } function set(string memory _name) public { name = _name; } }
- 编译,根据TBaas官方要求,上传智能合约需要.bin与.abi格式文件,所以使用官方推荐的编译指令<br>
solc --abi --bin --hashes --overwrite -o . testtbaas.sol
部署合约
- 合约部署平台:
- 登录微信云,进入合约管理平台,点击合约管理->安装合约
-
安装合约时按照提示安装即可,合约名称与编程的合约名称一致,下面的合约调用参数是为快速上链功能准备的。可以填写合约中的函数签名 ,而实现合约交易中的可视化上链。
- 审计合约,合约安装成功,如果没有恶意代码的话,审计日记可以看到审计通过日志。
- 区块链浏览器 此时合约已经部署在区块链上了。可以在区块链浏览器中查看合约的一些基本信息。
- 快速上链 在合约安装时下面填写的函数签名信息,可以在此体会合约交易的可视化上链。交易成功后可在区块链浏览器中查看交易信息。至此区块链部署完成。
- 交易信息 在交易信息中可以看到合约的调用信息字节码。开始8个字节是函数签名的哈希值,后面是参数结构,第一个256位是类型,第二个256位是长度,后面是参数的编码, <br>
{"data":" 4ed3885e 0000000000000000000000000000000000000000000000000000000000000020 0000000000000000000000000000000000000000000000000000000000000008 6a7a616c69616e67000000000000000000000000000000000000000000000000 "}
API Explorer在线调试
- 腾讯云平台为开放商提供了在线的交易接口的测试平台。可以方便的测试交易的接口描述,和返回值等信息。
- 选择TBaas的长安链网络相关接口,ClusterId, ChainId可以在网络基本信息选择。
- 在🈶右边窗口点击在线请求中的发送请求,调用成功的话会返回信息。可以看到合约返回值是使用base64编码压缩的信息,
- 注意不管读写,都会铸入区块链中。
总结
- 合约部署和合约交易都可以在线完成,界面人性化,操作简单方便,上链速度很快。
- 合约审计功能可以防范恶意和有潜在安全危险的代码,但效果未知,只能做参考。
- 区块浏览器可以方便查看合约。可能因为安全的原因不能查看合约代码,但可以查看msg的字节码。
- API Explorer在线测试平台方便了开发者的调试。
结后语: 根据说明,还有在线代码生成、数据模拟、API诊断等功能,我还没有测试,等着你们去探索,开发一个基于长安链的DAPP将会更加轻松!