基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档

长安链已上架一款lighthouse+长安链的轻量级云服务器产品

体验入口:轻量应用服务器Lighthouse_香港轻量服务器_海外轻量服务器-腾讯云

长安链管理平台

区块链管理

区块链概览

获取区块链ID(DApp需要配置)

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第1张图片

合约管理

智能合约git地址:https://git.chainmaker.org.cn/fish/fish1208-chainmaker-lighthouse/-/tree/master/contract

EVM虚拟机

部署合约

合约名:HelloWorld

合约语言:solidity

git地址:

contract/solidity/HelloWorld/HelloWorld.bin · master · fish yu / fish1208-chainmaker-lighthouse · ChainMaker

contract/solidity/HelloWorld/HelloWorld.abi · master · fish yu / fish1208-chainmaker-lighthouse · ChainMaker

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第2张图片

WASM虚拟机

部署合约

合约名:hello

合约语言:rust

git地址:https://git.chainmaker.org.cn/fish/fish1208-chainmaker-lighthouse/-/blob/master/contract/rust/hello/contract_helloworld.wasm

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第3张图片

注:需要在【投票管理】进行投票,允许部署合约。

投票管理

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第4张图片

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第5张图片

上链管理

HelloWorld合约

1、发起上链(set方法)

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第6张图片

2、发起上链(get方法)

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第7张图片

查看

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第8张图片

hello合约

1、发起上链(set方法)

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第9张图片

2、发起上链(get方法)

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第10张图片

查看

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第11张图片

组织信息

获取org1组织ID(DApp需要配置)

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第12张图片

节点信息

获取consensus1节点端口(DApp需要配置)

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第13张图片

区块链浏览器

查看区块信息

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第14张图片

DApp代码开发

需要先开放端口,允许外部服务访问

netstat -tunlp | grep 12301

添加规则,允许外部访问12301、12302、12303、12304端口

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第15张图片

拷贝证书

使用本地SSH客户端软件远程登录实例

证书文件在/root/chainmaker/chain目录下

cd /root/chainmaker/chain

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第16张图片

将证书文件夹crypto-config拷贝到项目根目录下基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第17张图片

代码开发

contract_helloworld.rs
rust语言智能合约。

HelloWorld.sol
solidity语言智能合约。

sdk-config.yml
配置文件。

ChainSDKConfig.java
通过sdk-config.yml配置文件获取ChainClient、User对象。

ChainController.java
根据区块高度来获取区块信息。

HelloController.java
hello合约控制器,执行合约中的方法。

智能合约

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第18张图片

 基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第19张图片

配置sdk-config.yml

配置链ID、组织ID、节点信息。

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第20张图片

获取区块基本信息

根据区块高度来获取区块信息(传参blockHeight=6,返回该区块的区块高度、区块哈希、前区块哈希、时间戳)

http://127.0.0.1:7022/chain/block/info?blockHeight=6

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第21张图片

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第22张图片

hello合约

set方法

请求

GET http://127.0.0.1:7022/hello/set?n=Hello Xiao HTTP/1.1

响应

HTTP/1.1 200

Content-Type: application/json

{

    "code": 200,

    "success": true,

    "msg": "操作成功",

    "data": "d160188d93204f3b60f54ddf09a6bc191d236944bf1f26aa9287164aee57183e"

}

返回交易id

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第23张图片

使用交易id在区块链浏览器查询

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第24张图片

get方法

请求

GET http://127.0.0.1:7022/hello/get HTTP/1.1

响应

HTTP/1.1 200

Content-Type: application/json

{

    "code": 200,

    "success": true,

    "msg": "操作成功",

    "data": ""

}

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第25张图片

Git地址

fish yu / fish1208-chainmaker-lighthouse · ChainMaker

测试地址(可访问)

注:测试地址失效时间为2022-07-10。

hello合约set方法

http://1.13.249.4:7022/hello/set?n=ChainMaker

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第26张图片

hello合约get方法

http://1.13.249.4:7022/hello/get

基于lighthouse+长安链的轻量级云服务器产品,实现部署合约、区块链服务一系列操作文档_第27张图片

你可能感兴趣的:(chainmaker,区块链,rust)