文章目录
简介
本文介绍了长安链(ChainMaker)管理平台的容器化部署方法。通过Docker Compose工具,用户可快速搭建包含MySQL数据库和后端服务的管理平台环境。部署步骤包括安装Docker、下载镜像、启动服务容器,以及通过Web界面进行初始配置。管理平台支持区块链节点监控、智能合约部署与调用、存证管理等核心功能,并提供可视化操作界面。文中还展示了如何部署示例合约、进行投票操作和文件哈希存证,最后可通过区块链浏览器查看链上交易信息。该方案为开发者提供了便捷的区块链运维管理工具。
在区块链应用的开发与运维过程中,如何高效地管理链节点、智能合约以及权限配置,是开发者们普遍面临的挑战。为了解决这一问题,长安链(ChainMaker)提供了管理平台(Management Platform),它集成了后端服务、Web 管理界面以及数据库存储,为用户带来可视化、便捷化的操作体验。
通过管理平台,用户不仅能够完成链节点的配置和监控,还可以轻松进行合约部署、调用和日志查看,从而提升链上业务的开发效率与稳定性。
长安链支持的智能合约语言
尽管 Go 是首选,但长安链为了适应不同的开发场景和开发者群体,采用了多语言智能合约虚拟机的设计,目前支持:
智能合约语言
长安链为了适应不同的开发场景和开发者群体,采用了多语言智能合约虚拟机的设计,目前支持:
语言 | 推荐度 | 特点与适用场景 |
---|---|---|
Go | ⭐️⭐️⭐️⭐️⭐️ (首选) | 适用于长安链等国内联盟链。 性能优异,与底层技术栈统一,官方支持完善,工程化程度高。是企业级应用、政务、供应链金融等合规场景的首选。 |
Solidity | ⭐️⭐️⭐️⭐️⭐️ (公链必备) | 适用于以太坊及所有EVM兼容公链。 是DeFi、NFT、GameFi等加密货币领域的“世界语”。生态极其庞大,但代码安全性要求极高,直接关系资产安全。 |
Rust | ⭐️⭐️⭐️⭐️ (次选/前沿) | 适用于长安链、Solana、Polkadot等。 以内存安全和极致性能著称,学习曲线陡峭。是追求高性能和高安全性的复杂合约、以及新一代公链的绝佳选择。 |
C++ | ⭐️⭐️⭐️ (特定场景) | 适用于长安链、EOS等。 性能强大,但更为底层,易用性和安全性上不如Go和Rust。通常用于有历史C++代码需要移植或特定性能调优需求的场景。 |
TinyGo | ⭐️⭐️⭐️ (特殊场景) | Go 的轻量级版本,用于 WASM(WebAssembly)虚拟机。合约编译体积更小,启动更快,适合资源受限或需要与 Web 生态交互的场景。 |
Ubuntu 安装
安装 Docker
长安链官网
Github
- https://git.chainmaker.org.cn/chainmaker/management-backend
- https://git.chainmaker.org.cn/chainmaker/chainmaker-go
- https://git.chainmaker.org.cn/chainmaker/chainmaker-tools
- https://git.chainmaker.org.cn/chainmaker/chainmaker-docs
- https://git.chainmaker.org.cn/contracts/contracts-go
官方文档
官方 Docker 镜像仓库
注: hub-dev.cnbn.org.cn 是长安链团队自建的镜像源,也可以直接访问该地址,通过左上角搜索的方式,获取目前支持的镜像列表。
- 修改docker的配置文件:/etc/docker/daemon.json
{
"registry-mirrors": [
"https://hub-dev.cnbn.org.cn",
"https://mirror.ccs.tencentyun.com",
"https://qpaqqzrt.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}
下载源码
git clone -b v2.4.0 --depth=1 https://git.chainmaker.org.cn/chainmaker/management-backend.git
# 或
git clone -b v2.3.4 --depth=1 https://git.chainmaker.org.cn/chainmaker/management-backend.git
部署管理平台
cd management-backend
docker compose up -d
登录管理平台
注: 账号/密码(admin/a123456)
快速生成证书
新建区块链
- 单机部署
注: 不要勾选 DOCKER_GO。
下载链配置文件
注: 将下载的 fact.zip 文件复制到 Ubuntu 服务器上。
解压 fact.zip
- ubuntu 安装 zip 与 7z 工具
sudo apt install -y zip unzip
sudo apt install -y p7zip-full
- 从共享文件夹复制 fact.zip 到用户目录
cp fact.zip ~/
- 解压 fact.zip 文件得到 release 目录,并赋权限 release 目录。
sudo unzip fact.zip
sudo chmod -R 777 release
cd release
- 执行 start.sh 启动长安链
./start.sh
- 4 个节点都启动成功
订阅长安链
部署示例合约
下载示例合约
部署示例合约
Method | Param | 说明 |
---|---|---|
save | file_hash,file_name,time | 根据文件哈希,文件名称,时间进行存证 |
find_by_file_hash | file_hash | 根据文件哈希查询存证信息 |
投票管理
- 投票完成准备上链
上链管理
- 文件哈希存证
- 查找存证信息