一、什么是EOS账户的CPU、NET、RAM资源?
目前EOS系统中主要有三种资源分别为:网络带宽资源(NET)、CPU计算资源(CPU)、运行内存资源(RAM)。
NET原指电脑网络;在EOS系统中,当用户发送一笔交易信息后,区块生产者需要将这笔交易打包生成区块,然后将区块通过网络同步给其他生产者,这个过程需要消耗一定网络带宽资源。(NET是EOS系统中用于同步与传输数据的大小,单位是KB。)
CPU原指电脑的中央处理器;在EOS系统中,当用户发起调用智能合约这个动作时,区块生产者需要根据智能合约地址查找合约代码,然后将代码加载到内存中执行,这个过程需要消耗一定的CPU算力。(CPU是指EOS系统处理操作指令所需的时间,单位是时间,常用ms表示。)
RAM原指电脑内存;在EOS系统中,账号信息、智能合约执行信息的当前状态都是存储在内存中的,这些信息的储存就需要长期占用内存资源,RAM就是存储账户数据所占用的EOS系统的存储空间。(用于记录,RAM的单位常用的是KB。)
简单来讲,NET带宽资源主要用于传输信息;CPU资源用来计算账户余额的变化;RAM资源则是账户实时状态的记录。
二、EOS账户资源CPU/NET/RAM怎么获得?
首先你需要明白CPU/NET属于可恢复赎回型资源,而RAM属于消耗性资源。
可以说账户的各种操作都需要占用一定量的CPU和NET,这些资源会在操作的24H后自动恢复,不需要时可赎回资源质押的EOS,整个过程中EOS没有损耗,所以属于可恢复赎回型资源。
大量的操作都需要消耗RAM 来存储数据,比如创建一个EOS 账号、创建一个EOS 智能合约、进行EOS 转账等都会会占用RAM,被占用的RAM很难被释放,因此属于消耗型资源。
在EOS系统中,CPU和NET的使用权采用质押EOS的方式,根据质押EOS的数量占全网EOS质押总量的比例获取对应比例的使用权,一旦你不使用了,就可以赎回你质押的所有EOS,赎回质押的EOS需要72小时。
而RAM的分配制度则是采用Bancor算法,EOS 内存买卖采用的是自由市场定价的算法,可分配的内存越少,价格越高。RAM总量有限,但可扩容,并且RAM不可转让,也就是说只能够和系统交易,合约规定RAM买卖 EOS 主网系统会收取0.5%的手续费。
获取CPU/NET/RAM途径:
获取CPU/NET资源的方法:通过质押EOS至eosio.stake系统账户,获得对应的CPU/NET资源。(可以是自己为自己账号质押,也可以通过一个账号为另一个账号质押资源)
获取RAM资源的方法:支付EOS至eosio.ram系统账户购买RAM,RAM价格基于Bancor算法,由供求关系决定。因此可以通过买卖赚取差价(不建议炒RAM)。
三、关于CPU
1.哪些操作会占用CPU资源?
a.账号最常用的功能:转账操作;
b.玩生态DApp游戏时;
c.领糖果、账号竞拍等操作。
总之,每当你向EOS网络提交交易时都需要占用一定量CPU。因为BP节点们为维护网络,都必须处理该笔交易,CPU则是BP节点们在处理、验证交易时所必须花费的时间,以微秒(μs)为单位。由于每个BP节点运行基础架构设置不同,因此每个BP节点处理交易花费CPU也不一样。每一笔交易都需要用得到CPU资源,那么,如果你的CPU资源不足,自然就无法发起交易。
2.CPU为什么会不足?
抵押了一定数量的EOS,具体可以得到多少的CPU资源,是会根据EOS网络的忙碌程度而变化;如果CPU使用的高峰期,则获得的资源就少,如果是空闲时候,获得的资源就更多。
CPU计算公式:CPU价格 = CPU抵押的EOS总量 / 虚拟的CPU可用量,单位是 EOS/ms。 比如:1EOS/ms 意味着换取1ms的CPU时间,需要抵押1个EOS。
CPU的价格是不断变化的,是因为 为CPU而抵押的EOS的总量 和 虚拟的CPU可用量 都是在不断变化。
a.为CPU而抵押的EOS总量 是不断变化的
当EOS网络中,抵押用于换取CPU资源的EOS数量突然增加时,会导致1个EOS所对应的可用CPU资源减少。比如,你用10个EOS抵押换取CPU资源,目前可以有10分钟的CPU计算资源;突然有DAPP团队直接将总抵押量增加了一倍,这时就会导致你质押10个EOS所对应的cpu资源,会减少到原来的一半,也就是5分钟。
b.虚拟的CPU可用量也是根据EOS网络动态调整的
当EOS网络拥堵时,那么,虚拟的CPU可用量就会降低,导致了CPU成本上升,1个EOS能够换取的可用资源就下降;而网络空闲时,虚拟的CPU可用量就增加,1个EOS能够换取的可用CPU资源,就增加。
【如果你抵押了EOS获得CPU资源,当你的CPU超额使用 或者 EOS网络繁忙你所分配到的CPU资源变少,不足以发起交易,这时就是CPU资源不足的情况。】
3.如何解决?
建议:尽量使用EOSREX租赁,因为价格相比于第三方租赁要便宜。当然如果您EOS资产多且希望长期持有,那么建议您质押EOS获取CPU资源。(最近由于EIDOS挖矿的影响,CPU价格上涨至10EOS/ms,导致很多账号无法操作,以及REX池里可用的EOS不足,通过REX租赁需要排队,卖出REX也需要排队。)