使用 Docker 安裝長安鏈管理平臺 + 部署區塊鏈與示例合約

文章目錄

  • 簡介
  • 登錄官網
  • 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 […