EOS 网络带宽(NET)解除质押完全指南:cleos system undelegatebw 实战解析
区块链【免费下载链接】eosAn open source smart contract platform项目地址https://gitcode.com/gh_mirrors/eo/eos点击查看免费下载在 EOS 主网与基于 eosio 的链上账户通过质押stake系统代币获得 CPU 与 NET网络带宽资源而资源不再需要时则通过解除质押undelegate回收代币。本指南基于当前仓库gh_mirrors/eo/eos中的官方 how-to 文档docs/02_cleos/02_how-to-guides/how-to-undelegate-NET.md系统讲解cleos system undelegatebw命令的用法、参数、执行结果解读及其底层实现原理。读完本文你将能够独立完成「把委托给其他账户的 NET 带宽撤回」这一完整操作并理解该命令如何映射为链上的eosio::undelegatebw动作。目标解除账户或应用委托出去的资源Undelegate resource for an account or application。需要特别警惕的是只有最初委托delegate资源的那个账户才有权限解除该笔资源的质押。也就是说如果账户alice把 NET 带宽委托给了账户bob那么只有alice作为from参数能够发起撤回bob无权代替操作。开始之前前置条件在执行解除 NET 质押之前请确认满足以下条件安装当前受支持的cleos版本cleos是与链交互的命令行客户端位于本仓库的 programs/cleos 目录核心实现在 main.cpp。请确保版本与所连接节点兼容。确保已部署参考系统合约系统资源CPU/NET 带宽质押由eosio.contracts仓库中的参考系统合约管理。本仓库unittests下保留了预编译的 eosio.system 合约 ABI 用于测试实际部署请以官方发布的 eosio.system 合约为准。理解以下基础概念什么是账户account什么是网络带宽network bandwidth即 NET什么是 CPU 带宽CPU bandwidth。核心步骤一条命令解除 NET 质押原文档给出的实战示例是从账户alice解除 0.01 SYS 的网络带宽将其撤回给账户bobcleos system undelegatebw bob alice 0 SYS 0.01 SYS执行后你会看到类似下面的输出executed transaction: e7e7edb6c5556de933f9d663fea8b4a9cd56ece6ff2cebf056ddd0835efa6606 184 bytes 452 us # eosio eosio::undelegatebw {from:alice,receiver:bob,unstake_net_quantity:0.01 EOS,unstake_cpu_qu... warning: transaction executed locally, but may not be confirmed by the network yet ]逐字段解读这段输出executed transaction: txid交易哈希可在区块浏览器中查询该交易的详情184 bytes交易原始字节大小452 us本地执行耗时微秒# eosio eosio::undelegatebw交易调用了eosio账户上的undelegatebw动作其中{from:alice,receiver:bob,unstake_net_quantity:0.01 EOS,...}为动作参数注意示例输出中的 token 符号显示为EOS是节点侧配置的符号显示命令中应使用你所在链的符号如SYSwarning: transaction executed locally, but may not be confirmed by the network yet警告信息表示交易已在本地节点执行但尚未被网络确认出块属正常现象稍后可查询交易确认状态。命令位置参数详解该命令共 4 个位置参数定义于仓库 programs/cleos/main.cpp与官方命令参考 system-undelegatebw.md 一致位置参数类型含义fromTEXT解除带宽质押的账户必须是原委托者receiverTEXT被撤回带宽的账户即当初的接收者unstake_net_quantityTEXT要解除的网络带宽质押数量如0.01 SYSunstake_cpu_quantityTEXT要解除的 CPU 带宽质押数量如0 SYS在示例中fromalice、receiverbob语义为alice把之前委托给bob的 NET 带宽解除质押并撤回给自己。若只想解除 NET 而不动 CPU将 CPU 数量填0 SYS即可反之亦然参见姊妹篇 how-to-undelegate-CPU.md。常用选项Optionscleos system undelegatebw继承 cleos 标准交易选项常用如下-h, --help打印帮助信息并退出-x, --expiration TEXT设置交易过期时间秒默认 30s-f, --force-unique强制交易唯一会消耗额外带宽取消对重复发送相同交易的保护-s, --skip-sign跳过签名不使用钱包中的已解锁密钥签名-d, --dont-broadcast不广播到网络仅打印到标准输出-r, --ref-block TEXT设置用于 TAPOSTransaction as Proof-of-Stake的参考区块号或区块 ID-p, --permission TEXT授权的账户与权限级别格式accountpermission默认accountactive--max-cpu-usage-ms UINT交易执行 CPU 预算上限毫秒默认 0 表示不限制--max-net-usage UINT交易网络用量预算上限字节默认 0 表示不限制--delay-sec UINT设置延迟交易秒数默认 0s-j, --json以 JSON 格式打印结果。实际签名与广播所需密钥由本机 keosd 钱包提供若未指定--permission默认使用fromactive权限见源码 main.cpp。底层原理cleos 如何构造这笔交易从源码结构看cleos system undelegatebw由undelegate_bandwidth_subcommand子命令类实现programs/cleos/main.cpp其工作流程可以概括为定义 4 个必填位置参数from、receiver、unstake_net_quantity、unstake_cpu_quantity并附加标准交易选项与签名选项默认权限fromactive回调函数中将两个数量字符串通过to_asset()转换为asset类型构造动作负载fc::variant act_payload fc::mutable_variant_object() (from, from_str) (receiver, receiver_str) (unstake_net_quantity, to_asset(unstake_net_amount)) (unstake_cpu_quantity, to_asset(unstake_cpu_amount));以fromactive权限构造动作并发送到系统账户eosioconfig::system_account_name动作名为undelegatebwauto accountPermissions get_account_permissions(tx_permission, {name(from_str), config::active_name}); send_actions({create_action(accountPermissions, config::system_account_name, undelegatebw_n, act_payload)}, signing_keys_opt.get_keys());即cleos system undelegatebw本质上是对链上eosio::undelegatebw动作的一层 CLI 封装。系统合约eosio.system收到该动作后会校验from是否为资源所有者、检查可用余额并执行实际的资源释放与代币归还逻辑——该逻辑属于eosio.contracts仓库的 eosio.system 合约实现。测试验证单元测试中的 unstake 封装本仓库的单元测试框架对undelegatebw动作也做了封装可用于验证命令的调用形态。在 unittests/eosio_system_tester.hpp 中action_result unstake( const account_name from, const account_name to, const asset net, const asset cpu ) { return push_action( name(from), undelegatebw_n, mvo() (from, from) (receiver, to) (unstake_net_quantity, net) (unstake_cpu_quantity, cpu) ); }可以看到测试封装的动作参数与 CLI 的 4 个位置参数一一对应且以from账户身份push_action发送——再次印证了「必须由原委托者发起」的权限约束。此外eosio_system_tester.hpp 中还有同时包含delegatebw、voteproducer与undelegatebw多动作交易的构造示例展示了在实际测试中如何先质押再解除质押的完整流程。关联操作与延伸阅读委托质押带宽cleos system delegatebw是解除质押的逆操作参考 how-to-delegate-net-resource.md 与 how-to-delegate-CPU-resource.md命令参考见 system-delegatebw.md查询带宽委托情况cleos system listbw account可查看某账户当前的 CPU/NET 委托明细命令参考见 system-listbw.md解除 CPU 质押操作方式与本文完全一致区别仅在于把数量填入unstake_cpu_quantity详见 how-to-undelegate-CPU.md完整命令参考undelegatebw的全部位置参数与选项见 system-undelegatebw.md概念背景资源质押、购买 RAM 等资源模型相关的介绍可参考 docs/01_nodeos/07_concepts 目录下的文档。注意事项与常见误区只有原委托者可以解除这是该操作最核心的权限限制。若from不是当初delegatebw的发起者系统合约将拒绝该交易符号以所在链为准命令中的 token 符号如SYS应与当前链的核心符号一致示例输出中显示的EOS仅是节点配置的显示符号数量可部分解除unstake_net_quantity与unstake_cpu_quantity可以分别指定支持只解除 NET、只解除 CPU 或两者同时解除数量填0 SYS表示不解除该部分资源不会立即生效解除质押的带宽不会瞬间释放系统合约通常存在 3 天的赎回等待期视链配置而定在此期间相关带宽仍不可用确保钱包已解锁交易需要签名请先确保 keosd 钱包已解锁且包含from账户的私钥否则会提示签名失败。通过本文的讲解你可以安全地使用cleos system undelegatebw完成 NET 带宽的解除质押操作并理解其从 CLI 参数解析、动作构造到链上执行的完整链路。赞分享区块链【免费下载链接】eosAn open source smart contract platform项目地址https://gitcode.com/gh_mirrors/eo/eos点击查看免费下载相关推荐EOSIO cleos 命令详解用 cleos system newaccount 一步完成账户创建、RAM 购买与带宽质押EOSIO cleos 命令详解用 cleos system newaccount 一步完成账户创建、RAM 购买与带宽质押 导读 cleos system区块链EOSIO 委托网络带宽NET资源cleos system delegatebw 操作指南与底层原理EOSIO 委托网络带宽NET资源cleos system delegatebw 操作指南与底层原理 导读 本文基于本仓库eo/eos中《How to区块链使用 cleos system delegatebw 为 EOS 账户委托 CPU 带宽资源含源码级解析使用 cleos system delegatebw 为 EOS 账户委托 CPU 带宽资源含源码级解析 本指南以仓库文档 how to delegate区块链创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

EmDash Schema and Seed 文件完全指南:用 seed.json 一键定义站点结构与示例内容

EmDash Schema and Seed 文件完全指南:用 seed.json 一键定义站点结构与示例内容

CMS后端前端插件系统 【免费下载链接】emdash EmDash is a full-stack TypeScript CMS based on Astro; the spiritual successor to WordPress 项目地址: https://gitcode.com/gh_mirrors/emdas/emdash 点击查看 免费下载 EmDash 的 seed 文件(seed/se…

2026/9/24 9:15:29 阅读更多 →
将 Apache Druid Ingestion Spec 一键转换为 SQL:基于 MSQ 引擎的批量摄入迁移实战

将 Apache Druid Ingestion Spec 一键转换为 SQL:基于 MSQ 引擎的批量摄入迁移实战

数据库OLAP大数据后端 【免费下载链接】druid Apache Druid: a high performance real-time analytics database. 项目地址: https://gitcode.com/gh_mirrors/druid6/druid 点击查看 免费下载 本文介绍如何在 Apache Druid Web Console 的 Query 视图中&#xff0c…

2026/9/24 9:15:29 阅读更多 →
5款免费开源AI编程工具实测:Claude Code替代方案与选型指南

5款免费开源AI编程工具实测:Claude Code替代方案与选型指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 9:15:29 阅读更多 →

最新新闻

G6 Fishbone Layout 实战指南:在 @antv/g6 中用鱼骨图布局呈现因果与层次数据

G6 Fishbone Layout 实战指南:在 @antv/g6 中用鱼骨图布局呈现因果与层次数据

数据可视化前端图表库 【免费下载链接】G6 ♾ A Graph Visualization Framework in JavaScript. 项目地址: https://gitcode.com/gh_mirrors/g6/G6 点击查看 免费下载 Fishbone Layout(鱼骨图布局)是 antv/g6 内置的一种层次化图布局&#x…

2026/9/24 9:46:54 阅读更多 →
PaddleSpeech SpeechFeaturizer 源码级解析:统一语音特征与文本特征提取前端

PaddleSpeech SpeechFeaturizer 源码级解析:统一语音特征与文本特征提取前端

人工智能语音音频NLP媒体生成 【免费下载链接】PaddleSpeech Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation …

2026/9/24 9:46:53 阅读更多 →
ESP32 应用平台:基于 WebAssembly 实现固件动态加载应用

ESP32 应用平台:基于 WebAssembly 实现固件动态加载应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 9:45:53 阅读更多 →
Photogimp for Windows:让GIMP秒变Photoshop的免费配置方案

Photogimp for Windows:让GIMP秒变Photoshop的免费配置方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 9:45:53 阅读更多 →
洛谷-入门-B2059

洛谷-入门-B2059

这是我在洛谷刷的第59道题。#include<stdio.h> int main() { int m,n,i,num0; scanf("%d %d",&m,&n); for(im;i<n;i) {if(i%2!0){numi; } } printf("%d",num);return 0; }反思&#xff1a; 余2做为判断。

2026/9/24 9:45:53 阅读更多 →
DeepSeek医疗私有化部署实战:从病历NLP到vLLM结构化流水线

DeepSeek医疗私有化部署实战:从病历NLP到vLLM结构化流水线

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 9:45:53 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介&#xff1a;这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源&#xff0c;围绕YOLOv8实现渔船作业监控系统&#xff0c;可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件&#xff0c;约24.21MB&#xff0c;以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介&#xff1a;一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码&#xff0c;针对计算机相关专业正在做毕设或需要项目实战的学习者&#xff0c;可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过&#xff0c;可直接运行&#xff0c;覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住&#xff0c;是在一个老旧的WinForms模块里&#xff1a;几十个类依赖PropertyChanged通知&#xff0c;运行时反射读属性、发通知&#xff0c;每次启动慢半拍不说&#xff0c;一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事&#xff1a;用Flutter给OpenHarmony做一款游戏集合类的App&#xff0c;说白了就是把若干小游戏塞进一个壳里&#xff0c;用统一入口分发。这个方向本身不算新鲜&#xff0c;真正让我花了不少心思的&#xff0c;是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档&#xff0c;最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事&#xff1a;今天在表后面多加了两个空白行&#xff0c;明天给客户交稿前发现整个章节的编号全部错位&#xff0c;光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年&#xff0c;说实话&#xff0c;第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年&#xff0c;流量惨淡、功能臃肿、代码自己都懒得看第二遍之后&#xff0c;我才慢慢琢磨明白一个道理&#xff1a;第一个网站是练手&…

2026/9/23 9:53:41 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践&#xff1a;原型怎样变成可用功能分类&#xff1a;[AI/大模型]细分主题&#xff1a;AI 增强型 CI/CD 流水线自动化与 GitOps 实践&#xff1a;Agent 工作流、工具调用与任务拆解&#xff1a;从原型到生产的验收清单很多团队在尝试用大…

2026/9/23 9:53:40 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战&#xff1a;复盘记录怎样真正派上用场分类&#xff1a;[工程技术]细分主题&#xff1a;Kubernetes 生产环境运维与排障实战&#xff1a;可复制的项目复盘模板与决策记录大部分团队的事故复盘报告&#xff0c;最后都变成了躺在 Confluence 或钉…

2026/9/23 9:53:40 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理&#xff1a;核心链路应该先拆哪一步分类&#xff1a;[工程技术]细分主题&#xff1a;Docker 容器化技术与镜像安全管理&#xff1a;核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用&#xff08;包含 Web 接口、后台…

2026/9/23 9:53:40 阅读更多 →