文章目录

  • 简介
  • 登录官网
  • Github
  • Podman 配置(Docker 配置 registry 地址)
  • 安装长安链管理平台
    • 下载源码
    • docker-compose.yml
    • 登录管理平台
  • 部署区块链
    • Dockerfile
    • 构建镜像
    • 部署长安链
    • 订阅区块链
  • 部署合约
    • 下载示例合约
    • 部署示例合约
    • 投票管理
    • 文件哈希存证
    • 查找存证信息
    • 区块链浏览器

简介

在区块链应用的开发与运维过程中,如何高效地管理链节点、智能合约以及权限配置,是开发者们普遍面临的挑战。为了解决这一问题,长安链(ChainMaker)提供了管理平台(Management Platform),它集成了后端服务、Web 管理界面以及数据库存储,为用户带来可视化、便捷化的操作体验。

通过管理平台,用户不仅能够完成链节点的配置和监控,还可以轻松进行合约部署、调用和日志查看,从而提升链上业务的开发效率与稳定性。

本文将以 容器化部署 的方式,介绍长安链管理平台的安装步骤。主要包括以下内容:

  • 准备环境:安装 Docker/Podman、配置 Compose 工具;
  • 启动数据库(MySQL)与管理服务:通过 docker-compose.yml 一键启动所需容器;
  • 访问管理平台:在浏览器中打开管理界面,完成初始配置;
  • 常见问题排查:如数据库连接失败、容器依赖异常等解决方法。

通过本文,您将能够快速完成长安链管理平台的安装与运行,并顺利进入可视化的链上管理界面,为后续的区块链应用开发和运维工作打下坚实的基础。

登录官网

  • https://git.chainmaker.org.cn/users/sign_in

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

Podman 配置(Docker 配置 registry 地址)

  • 安装 podman 与 podman-compose

在这里插入图片描述

vim ~/.config/containers/registries.conf
unqualified-search-registries = ["docker.io"][[registry]]
location = "docker.io"
insecure = false
blocked = false
mirror = [{location = "registry.aliyuncs.com", insecure = false},{location = "hub-mirror.c.163.com", insecure = false},{location = "registry.docker-cn.com", insecure = false},{location = "hub-dev.cnbn.org.cn", insecure = false}
][[registry]]
location = "quay.io"
insecure = false
mirror = [{location = "quay-mirror.qiniu.com", insecure = false}
]
vim ~/.config/containers/storage.conf
[storage]
driver = "overlay"
runroot = "/tmp/$USER/containers"
graphroot = "/Users/wufengsheng/.local/share/containers/storage"[storage.options]
additionalimagestores = [][storage.options.overlay]
mount_program = "/usr/bin/fuse-overlayfs"
mountopt = "nodev,fsync=0"
ignore_chown_errors = "true"
# 可选:限制容器可用空间(默认 10G)
size = "20G"

安装长安链管理平台

  • 长安链官方文档

下载源码

  • https://git.chainmaker.org.cn/chainmaker/management-backend
git clone -b v2.3.4 --depth=1 https://git.chainmaker.org.cn/chainmaker/management-backend.git

docker-compose.yml

cd management-backend

在这里插入图片描述

vim docker-compose.yml

注: 文件中需要加上 container_name ,没加可能会导致部署时连不上 cm_db

version: "3.9"services:cm_db:image: mysql:5.7container_name: cm_dbvolumes:- db_data:/var/lib/mysqlrestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: Baec&chainmakerMYSQL_USER: chainmakerMYSQL_PASSWORD: Baec&chainmakerMYSQL_DATABASE: chainmaker_devcommand: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci', '--max_allowed_packet=200M']cm_mgmt_server:depends_on:- cm_dbimage: chainmakerofficial/management-backend:v2.3.4container_name: cm_mgmt_serverports:- "9999:9999"cm_mgmt_web:depends_on:- cm_mgmt_serverimage: chainmakerofficial/management-web:v2.3.4container_name: cm_mgmt_webports:- "8080:80"volumes:db_data: {}
  • 将 cm_mgmt_web 的 80 端口改为 8080

在这里插入图片描述

  • 部署管理平台
docker-compose up -d
# 或
podman-compose up -d

在这里插入图片描述

注:磁盘不足报错(磁盘至少要留有30G可用空间)

在这里插入图片描述

注:磁盘空间不足时可以清理删除 podman 未使用的卷。

podman volume ls
podman volume prune -f
  • 用到的 Docker 镜像

在这里插入图片描述

登录管理平台

注:账号/密码(admin/a123456

  • http://localhost:8080/login

在这里插入图片描述

  • 快速引导

在这里插入图片描述

  • 证书账户

在这里插入图片描述

  • 新建区块链

在这里插入图片描述
在这里插入图片描述

  • 下载链配置文件

在这里插入图片描述

部署区块链

注:本文采用 ubuntu 镜像部署长安链。

Dockerfile

FROM ubuntu:20.04RUN apt-get update && apt-get install -y \curl \bash \p7zip-full \&& rm -rf /var/lib/apt/lists/*WORKDIR /chainmakerCMD ["bash", "start.sh"]

构建镜像

podman build -t chainmaker .

部署长安链

  • 让容器保持运行状态

注:下载的链配置文件解压后,在 release 目录中的 start.sh 文件末尾添加如下两行。

...echo "ChainMaker nodes started successfully!"
tail -f /dev/null

在这里插入图片描述
在这里插入图片描述

  • 部署长安链
podman run -d --name chainmaker-node \
-p 12301:12301 \
-p 12302:12302 \
-p 12303:12303 \
-p 12304:12304 \
-v $PWD/release:/chainmaker \
localhost/chainmaker:latest
  • 查看容器日志
podman logs -f chainmaker-node

在这里插入图片描述

订阅区块链

在这里插入图片描述

在这里插入图片描述

部署合约

下载示例合约

在这里插入图片描述

部署示例合约

在这里插入图片描述

投票管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文件哈希存证

在这里插入图片描述
在这里插入图片描述

查找存证信息

在这里插入图片描述
在这里插入图片描述

区块链浏览器

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/93912.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/93912.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/93912.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python训练营打卡 DAY 41 简单CNN

知识回顾 数据增强卷积神经网络定义的写法batch归一化:调整一个批次的分布,常用与图像数据特征图:只有卷积操作输出的才叫特征图调度器:直接修改基础学习率 卷积操作常见流程如下: 1. 输入 → 卷积层 → Batch归一化层…

云端赋能,智慧运维:分布式光伏电站一体化监控平台研究

摘要 本文针对分布式光伏电站存在的监管困难、火灾隐患、系统繁杂及运维不规范等行业痛点,提出AcrelCloud-1200光伏运维云平台解决方案。平台通过ANet-1E2S-4G网关集成多品牌逆变器数据,结合视频监控与气象站,实现电站全域监测;开…

CVPR 2025 | 具身智能 | HOLODECK:一句话召唤3D世界,智能体的“元宇宙练功房”来了

关注gongzhonghao【CVPR顶会精选】1.导读1.1 论文基本信息论文标题:《HOLODECK: Language Guided Generation of 3D Embodied AI Environments》作者:Yue Yang*1, Fan-Yun Sun*2, Luca Weihs*4, Eli Vanderbilt4, Alvaro Herrasti4,Winson Han4, Jiajun …

迅为RK3568开发板搭建Ubuntu环境

本小节介绍开发所需 Ubuntu 环境的搭建方法。系统要求:Ubuntu 系统要求:Ubuntu18.04~21.10 版本。推荐使用 20.04 版本,内存 16GB 及以上,硬盘 100GB 及以上。Ubuntu 系统的用户名不能包含中文字符。建议 Ubuntu 和 Windows 系统上安装的 Dev…

【数据结构】用堆解决TOPK问题

设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。示例:输入: arr [1,3,5,7,2,4,6,8], k 4 输出: [1,2,3,4]比较替换堆顶的数时,不需要让堆顶与数组的每一个数再进行比较,比较数组减去k个…

【深度长文】Anthropic发布Prompt Engineering全新指南

目录 1.什么时候适合用提示工程? 2.如何进行提示工程 2.1 使用提示模板 2.1.1 使用提示模板和变量 2.1.2 何时使用提示模板和变量 2.1.3 提示模板示例 2.2 保持清晰和直接 2.2.1 如何保持清晰、具有上下文和具体 2.2.2 示例 ​2.3 使用示例(多示例提示…

【基础-判断】HarmonyOS提供了基础的应用加固安全能力,包括混淆、加密和代码签名能力

正确 解释如下: 应用加固: 这是指对应用程序进行保护,使其更难被逆向工程、篡改或盗版。HarmonyOS 作为现代操作系统,确实提供了这样的基础安全能力。 混淆: HarmonyOS 的 SDK 提供了代码混淆工具(通常基于 ProGuard 或类似技术)。开发者在构建应用时启用混淆,可以将类…

HTML 框架:构建网页布局的基石

HTML 框架:构建网页布局的基石 引言 HTML 框架是网页设计中不可或缺的一部分,它为网页内容的布局提供了强大的支持。本文将深入探讨 HTML 框架的概念、种类、应用以及如何有效地使用它们来构建网页布局。 什么是 HTML 框架? HTML 框架是一种网…

[Linux]学习笔记系列 -- [mm][memblock]

文章目录mm/memblock.c: Linux内核的“拓荒时代”内存管理器一、 核心问题:为什么需要 memblock?二、 核心原理与设计三、 在内核启动流程中的角色四、 关键 API五、 总结include/linux/memblock.hmm/memblock.cmemblock_reserve 预留内存块for_each_mem…

Java 面试八股文汇总(1000 道附答案解析)

在过 2 个月即将进入金九银十了,然而面对今年的大环境而言,跳槽成功的难度比往年高了很多,很明显的感受就是:对于今年的 java 开发朋友跳槽面试,无论一面还是二面,都开始考验一个 Java 程序员的技术功底和基…

给纯小白的Python操作 PDF 笔记

一、文件基础打开与关闭 推荐用 with open(path, mode, encodingutf-8) as f:,自动完成 close(),避免泄露文件句柄。常见模式:r 读,w 写覆盖,a 追加,rb/wb 二进制。Windows 默认编码为 GBK,Linu…

vue使用vue-cropper实现图片裁剪之单图裁剪

vue制作的pc系统中(如若依系统),需要实现按照固定尺寸进行裁剪后再进行图片上传,以下代码讲述的是实现单张图片裁剪上传。1.第一步需要安装vue-croppernpm install vue-cropper2.第二步在需要的页面进入代码引入import {VueCropper} from "vue-crop…

后台管理系统-5-vue3之子路由渲染首页及卡片容器和表格容器实现

文章目录 1 子路由的实现 1.1 router/index.js 1.2 views/Home.vue(首页) 1.3 Main.vue 2 左上方的卡片 2.1 分栏间隔(Layout布局) 2.2 卡片容器(el-card) 2.3 整体代码Home.vue 3 左下方的table(静态实现) 3.1 准备数据 3.2 渲染表格(el-table) 3.3 整体代码Home.vue 4 附录 子…

在CentOS系统中查询已删除但仍占用磁盘空间的文件

在CentOS系统中查询已删除但仍占用磁盘空间的文件在CentOS系统中查询已删除但仍占用磁盘空间的文件1. 检查磁盘整体使用情况2. 查找被删除但仍被进程占用的文件3. 释放磁盘空间4. 替代方案(不终止进程)注意事项补充工具在CentOS系统中查询已删除但仍占用…

正点原子【第四期】Linux之驱动开发学习笔记-1.1 Linux驱动开发与裸机开发的区别

前言: 本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内…

Android SystemServer 中 Service 的创建和启动方式

今天导师给我将讲了一些如何新建一个系统服务,以及如何去初始化。 Android SystemServer 中 Service 的创建和启动方式 在 Android 系统中,SystemServer 是系统服务的核心进程,负责启动和管理各种系统服务。以下是 SystemServer 中服务创建和…

SQL SERVER中位数

有11家门店数据,要求每天所有门店的各个指标的中位数1.第一种做法,使用PERCENTILE_CONT() 函数 SQL SERVER 2012 版本及以上PERCENTILE_CONT 函数简介PERCENTILE_CONT 是 SQL 中的窗口函数,用于计算连续百分位数&#…

【java中springboot引入geotool】

学习目标: 在Spring Boot项目中引入GeoTools库,可以按照以下步骤进行:理解GeoTools库的基本信息和用途 GeoTools是一个开源的Java库,用于处理地理信息系统(GIS)数据。它提供了对空间数据的读取、写入、查询…

多项目开发环境:如何使用update-alternatives管理多版本Java JDK?(Windows、Mac、Ubuntu)

如何使用update-alternatives管理多版本Java JDK?(Windows、Mac、Ubuntu) 📖 摘要 在实际开发中,往往会遇到既要维护老项目又要跟进新特性的场景,这就需要在一台机器上同时安装并切换多个Java JDK版本。本…

力扣57:插入区间

力扣57:插入区间题目思路代码题目 给你一个 无重叠的 ,按照区间起始端点排序的区间列表 intervals,其中 intervals[i] [starti, endi] 表示第 i 个区间的开始和结束,并且 intervals 按照 starti 升序排列。同样给定一个区间 newInterval […