1.【eos全家桶系列】eos系统合约介绍—系统操作合约eosio.system(上)
2.解读RAM和Storage的站源区别和联系
【eos全家桶系列】eos系统合约介绍—系统操作合约eosio.system(上)
本篇文章旨在详细介绍EOS系统中至关重要的系统操作合约——eosio.system。该合约负责处理包括账户创建、源码投票选举超级节点、分析资源质押和域名竞拍等多种功能。站源本文将重点阐述eosio.system合约在资源质押和超级节点投票方面的源码具体实现。
EOS网络中的分析微信 js 源码超级节点选举和投票机制均以账户为中心展开。eosio.system合约中的站源投票功能可通过cleos system命令行工具便捷地执行。投票过程涉及两个主要角色:投票账户和候选超级节点账户。源码它们必须遵循特定的分析步骤才能完成投票或当选:
**步骤一:抵押EOS资源
**抵押EOS资源以换取cpu和net资源是投票前的必要条件。使用delegatebw命令,站源指定抵押EOS的源码账户和接收抵押资源的账户。
**步骤二:注册为超级节点候选账户
**注册为超级节点候选账户需要提供公钥,分析该公钥用于当选后产块时的站源签名验证。
**步骤三:投票给超级节点候选账户
**通过voteproducer命令,源码投票账户可以为多个超级节点候选账户投票。分析投票账户可以取消投票通过赎回质押的EOS,赎回期为3天。数码世界源码
下面将演示赎回质押EOS的步骤:
**步骤一:取消质押
**使用undelegatebw命令取消质押,该命令与delegatebw命令相似。在某些情况下,例如本机私链,赎回期可被调整,质押的EOS将在指定时间后赎回到账。
**步骤二:源码解析
**delegatebw和undelegatebw命令最终都会调用changebw方法。changebw根据操作类型进行相应的桃桃源码资源转移或赎回操作。
**步骤三:投票权重衰减与更新
**为了鼓励用户定期投票,EOS引入了投票权重衰减机制。用户需定期重新投票以维持其投票权重,确保投票效力不受影响。
本文简要介绍了eosio.system合约在资源质押和超级节点投票方面的核心功能及其背后的源码实现。接下来,我们将探讨eosio.system合约在域名竞拍方面的功能,敬请期待。公告导航源码
解读RAM和Storage的区别和联系
RAM与Storage的区别与联系
EOS主网上线后,RAM价格飙升,RAM的内涵及其与物理Storage的关系引起了开发者关注。本文以EOSIO源码解析为核心,揭示两者间的实质区别与联系,以助开发者深入理解。RAM:内存货币
RAM可视为一种基于EOS和Bancor算法的token。Bancor算法的kpatch源码解析工作原理不在本文详述,有兴趣者可自行查阅相关资料。 EOSIO的state db操作,无论增删改,都会影响RAM使用,进而触发计费。初始设置中,最大RAM容量为GB。使用与管理
通过`cleos`查询RAM信息,包括总量、已预留和抵押的EOS金额。扩容RAM需调用`eosio.system`合约的`setram`方法,权限受限于eosio.prods,需要至少个BP节点的签名。Storage:物理存储空间
Storage代表实际的物理存储空间,以文件形式存在,通过内存映射进行读写。默认大小为1GB,为了优化性能,需要锁定内存。通过`db_size_api_plugin`插件,可以实时监控存储使用情况。 当state db大小超出预设,写入会失败,此时需重启调整参数,可修改config.ini或通过命令行设置`--chain-state-db-size-mb`。总结
RAM作为EOSIO的系统资源,市场定价,扩容需BP节点共识;而Storage则是实际的存储空间,通过内存映射与state db交互。理解这两者,有助于开发者更好地利用EOSIO系统资源。