如何释放已使用的EOS RAM,然后就可以自由买卖了

2023-11-03

     昨天到今天,EOS RAM价格大跌,有一些用户想卖RAM,但是却发现大量RAM被占用,比如下图:

    这位伙伴找到我时,他说啥都没做但他的内存使用量怎么高达189k,然后我查了一下该账号的交易记录,发现他曾经部署过智能合约。然后他告诉我是他不小心部署的,且报错了,以为没部署成功。可见RAM被智能合约吃掉了,那怎么办呢?

释放已经使用的EOS RAM

    个人使用掉的EOS RAM如果很大,大部分都是智能合约导致的,因此减少智能合约的EOS RAM占用即可释放RAM。智能合约已经部署上去了,又没有删除接口,那怎么减少智能合约的RAM占用?EOS提供了智能合约更新接口,通过更新一个更小的智能合约即可减少RAM的使用量。那什么是最小的智能合约呢?只有一个空函数的智能合约,比如

    

    然后更新为这个最小的智能合约后发现占用的RAM确实下降到了31k了,瞬间减少了158K的RAM使用量。那有没有可能有更小的智能合约呢?经过底层分析,我实现了一个只占用7k的智能合约, 大家可以实践实践猜猜我是怎么实现的。合约链接如下:

        https://github.com/itleaks/eos-contract/tree/master/cleancontract-exp

更新智能合约释放RAM

git clone https://github.com/itleaks/eos-contract.git

cleos set contract your_account cleancontract-exp/empty/

 

    由于更新智能合约需要用到私钥,请大家不要轻易交给第三方操作,除非是非常信任的人,就算是这种可信任情况,也要要求他通过set permission更新账号的EOS公钥,达到私钥只有你一人知道的效果。

    还有一点需要注意的是如果你原来的智能合约的table已经有数据,请先通过你的智能合约接口清理这些数据,如果你的智能合约没有清理接口,那就先实现一个清理数据的智能合约并更新,清理完成后再部署这个empty智能合约。

 

其他操作占用的RAM    

    其他操作包括抵押,执行带有table的action也会占用RAM,这种RAM释放就比较麻烦一点,需要知道是抵押给谁的,调用哪些action,然后执行反向操作将数据清空才可以释放RAM。由于这部分RAM使用量一般较少,所以优先级不高

|**************************************************
* 本文来自CSDN博主"爱踢门",喜欢请点关注
* 转载请标明出处:http://blog.csdn.net/itleaks
***************************************************|

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何释放已使用的EOS RAM,然后就可以自由买卖了 的相关文章

  • quartus18.1--下载设置

    一 quartus下载流程 1 打开Quartus工程 点击 Start Compilation 按钮进行程序全编译 如下图所示 2 程序全编译无错误 编译信息如下图所示 3 3 点击 Programmer 快捷按钮 进入程序下载页面 如下

随机推荐

  • git修改历史提交(commit)信息

    一 修改最近一次提交的commit信息 1 首先通过 git log 查看commit信息 2 使用指令 git commit amend 进入命令模式 修改号commit信息保存后退出编辑模式 3 git push force 到远程仓库
  • 基于C++的带权无向图的实现 (二)- 遍历算法

    该系列文章是本人整理的有关带权无向图的数据结构和算法的分析与实现 若要查看源码可以访问我的github仓库 如有问题或者建议欢迎各位指出 目录 基于C 的带权无向图的实现 一 数据结构 基于C 的带权无向图的实现 二 遍历算法 基于C 的带
  • AD10创建自己的元器件库——PCB设计第二节

    一 在自己的元器件库里面添加一个七段数码管 绘制七段数码管的原理图 1 新建一个元器件库 如图所示 2 在集成库中新建两个文件并命名保存 3 打开First Schlib1 SchLib文件 在第四象限绘制一个矩形 4 添加引脚 如图所示
  • Vue中引入外部字体

    项目开发过程中 系统自带的字体通常美观性没那么强 所以有时候就需要我们自己引入字体包 来实现各种个性字体的效果 以下就是在vue项目中如何引入外部字体包并使用的方法 一 放置字体包 在assets下创建一个font文件夹 把下载的字体文件放
  • 微信小程序卡券样式

    微信小程序卡券样式 微信小程序 卡券 html
  • AndroidManifest.xml中android:configChanges的简介

    程序在运行时 一些设备的配置可能会改变 如 横竖屏的切换 键盘的可用性等 这样的事情一发生 Activity会重新启动 其中的过程是 在销毁之前会先 called onSaveInstanceState 去保存你应用中的一些数据 然后cal
  • 文档开发中预览/编辑/格式转换/内容提取/语言识别/文件服务器/相关的开源/商业组件和库

    能用于项目开发的office文件功能 pageoffice 在线编辑office http www zhuozhengsoft com java WebOffice java jsp 在线编辑office 商业版贵 kkFileView 文
  • 【Rust 日报】2021-09-26 RustConf 2021 项目精选

    RustConf 2021 项目精选 以下项目来自 RustConf 2021 移动构造函数 有可能吗 自引用 类型是一种对自身引用的类型 异步 Features 是当今 Rust 中最常见的自引用类型 但是 它们不能在不使引用无效的情况下
  • 【Python 1-15】Python手把手教程之——详解类Class以及类的使用

    作者 弗拉德 来源 弗拉德 公众号 fulade me 创建和使用类 使用类几乎可以模拟任何东西 下面来编写一个表示小狗的简单类Dog 它表示的不是特定的小狗 而是任何小狗 对于大多数宠物狗 我们都知道些什么呢 它们都有名字和年龄 我们还知
  • Scrapy笔记(2)- 完整示例

    这篇文章我们通过一个比较完整的例子来教你使用Scrapy 我选择爬取虎嗅网首页的新闻列表 这里我们将完成如下几个步骤 创建一个新的Scrapy工程 定义你所需要要抽取的Item对象 编写一个spider来爬取某个网站并提取出所有的Item对
  • 斐波纳契数列(f(n)=f(n-1)+f(n-2))问题

    package org nxt algorithm series import java math BigInteger fibonacci series author nanxiaotao public class FibonacciSe
  • C++的auto类型说明符详解 附易错实例

    博客内容 C 读取一行内个数不定的整数的方式 作 者 陈大大陈 个人简介 一个正在努力学技术的准前端 专注基础和实战分享 欢迎私信 欢迎大家 这里是CSDN 我总结知识和写笔记的地方 喜欢的话请三连 有问题请私信 目录 基本概念 易错点 易
  • 激光雷达建图之cartographer建图

    环境 ubuntu20 04 双系统 ros noetic 1 按照官网的方式安装 主要安装包括三个部分 cartographer cartographer ros ceres solver 如果完全按照官网进行安装 前两个没什么问题 但如
  • Git学习使用

    慢慢学习Git 探索Git上各路大神的佳作 good good study day day up Git初学 1 Git下载安装配置 2 Git架构浅谈 3 Git分支合并和解决冲突
  • 矩阵论的一些问题(最小多项式,jordan标准型,矩阵范数)

    1 最小多项式求法 比如例题A 1 2
  • Code Review 工具

    Crucible Atlassian 内部代码审查工具 Gerrit Google 开源的 git 代码审查工具 GitHub 程序员应该很熟悉了 上面的 Pull Request 在代码审查这里很好用 LGTM 可用于 GitHub 和
  • java基础速通(一)

    1 java基础语法 对象 类 方法 实例变量 2 java基本语法 大小写敏感 类名首字母大写 方法名首字母小写 源文件名与类名相同 主方法入口 3 类名 方法名 变量名命名规则 3 1 字母 下划线开头 3 2 首字符后可以是字母 下划
  • 黑马JVM总结(十二)

    1 五种引用 强软弱 实线箭头表示强引用 虚心线表示软弱虚终结器引用 在平时我们用的引用 基本都为强引用 比如说创建一个对象通过 运算符赋值给了一个变量 那么这个变量呢就强引用了刚刚的对象 强引用的特点 通过GC Root的引用链 能够找到
  • 最长公共子序列-Python-动态规划

    1 题目内容 题名为 最长公共子序列 题目要求 1 用动态规划算法思想设计最长公共子序列问题求解算法 并且对给定的数据 分两类 统一和自选 进行验证 2 要求分析算法的时间复杂性 3 与穷举算法 直接递归法 备忘录法进行对比并且形成分析报告
  • 如何释放已使用的EOS RAM,然后就可以自由买卖了

    昨天到今天 EOS RAM价格大跌 有一些用户想卖RAM 但是却发现大量RAM被占用 比如下图 这位伙伴找到我时 他说啥都没做但他的内存使用量怎么高达189k 然后我查了一下该账号的交易记录 发现他曾经部署过智能合约 然后他告诉我是他不小心