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

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

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

长安链管理平台

区块链管理

区块链概览

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

合约管理

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

EVM虚拟机

部署合约

合约名:HelloWorld

合约语言:solidity

git地址:

扫描二维码关注公众号,回复: 14828477 查看本文章

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

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

WASM虚拟机

部署合约

合约名:hello

合约语言:rust

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

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

投票管理

上链管理

HelloWorld合约

1、发起上链(set方法)

2、发起上链(get方法)

查看

hello合约

1、发起上链(set方法)

2、发起上链(get方法)

查看

组织信息

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

节点信息

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

区块链浏览器

查看区块信息

DApp代码开发

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

netstat -tunlp | grep 12301

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

拷贝证书

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

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

cd /root/chainmaker/chain

将证书文件夹crypto-config拷贝到项目根目录下

代码开发

contract_helloworld.rs
rust语言智能合约。

HelloWorld.sol
solidity语言智能合约。

sdk-config.yml
配置文件。

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

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

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

智能合约

 

配置sdk-config.yml

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

获取区块基本信息

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

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

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

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

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": "<ByteString@7411105a size=18 contents=\"{\\\"n\\\":\\\"Hello Xiao\\\"}\">"

}

Git地址

fish yu / fish1208-chainmaker-lighthouse · ChainMaker

测试地址(可访问)

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

hello合约set方法

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

hello合约get方法

http://1.13.249.4:7022/hello/get

猜你喜欢

转载自blog.csdn.net/yuch_hong/article/details/125260658