EOS钱包开发:详解与获取RAM、NET、CPU资源数据

当前位置:首页 > 币圈百科 > EOS钱包开发:详解与获取RAM、NET、CPU资源数据

EOS钱包开发:详解与获取RAM、NET、CPU资源数据

2022-11-19币圈百科499

Target

账号在各种网络的资源差异。了解EOS的网络资源RAM、NET、CPU如何获取网络资源的相应数据。网络资源数据各项指标详细说明

前言

局域网与真正的正式网络和测试网络在功能上有一个重要的区别:网络资源的利用机制。以前的课程在本地网的交易都是免费的,没有资源限制,但是需要在正规网或者考网消耗资源。这里我们将介绍基于测试网络的资源管理。

一、各种网络的账户资源差异

1。本地网络中账户的资源

我们先来回顾一下上一章“用cleos管理账户权限”中账户“徐丽”的权限分配,也就是“权限”字段的内容。

31E84385-96DC-46AF-B99D-3A49B97AD131

以下各项含义如下:

内存:RAM,即内存。网络带宽:是网络宽带。Cpu带宽:就是CPU带宽。

RAM、NET和CPU是EOS中的网络资源。从上图可以看出,所有的资源都是无限的,也就是无限的。

2。官网账号资源

我们来看看官网账号“lixulixucode”的详细情况,如下图。

DC086278-02A0-4694-AC37-36565F3752A6

可见主网账号需要消耗网络资源,是有限制的。

3。考网账号资源

我们来看看考网账号的详细情况,如下图。

DDF29516-B420-4783-A905-2E996B32DFF9

可以看出,测试网络中的账号需要消耗网络资源,是有限制的。

4。结论

在实际的正规网络和测试网络中,需要购买或抵押资源,存在局限性。下面的开发是基于测试网络,它和正式网络一样,只需要改变节点地址。

解释各个字段的含义

内存:RAM,即内存配额:有限使用的极限。使用:网络带宽:网络带宽赌注:自己帐户购买的总金额。委托:其他账户购买的总金额。已用:可用金额:剩余可用金额。极限:有限使用的极限。cpu带宽:CPU带宽,子字段和净EOS余额的含义:Eos的余额?液体:可用余额?赌注:购买的资源数量?总计:所有可用余额

II。EOS

的资源利用机制我们知道,比特币和以太坊中的交易费机制是为了防止大量交易阻塞系统而设计的。而EOS取消了交易费,那么如何避免系统资源的滥用呢?因此,EOS设计了新的资源利用机制:根据账户中EOS的数量分配系统资源,包括RAM(内存)、网络带宽(NET带宽)和CPU带宽(CPU带宽)。

1。RAM(内存):

在EOS中,RAM(内存)的主要特性包括:

在区块链中需要消耗RAM来存储数据。例如,在EOS中转账、购买资源和投票时,可能会消耗RAM(内存)。如果你的RAM耗尽了,那么你就无法执行上述需要消耗RAM的操作,所以我们需要有足够的RAM。通过购买获得的EOS RAM资源可以买卖,买卖价格可以根据市场情况动态调整。这个功能和买卖EOS是一样的。RAM可以通过EOS购买,也可以通过朋友购买。这个特性不同于通过抵押获得CPU资源和NET资源。用户买卖RAM资源,每人需要消费0.5%(千分之五)的手续费,总共是1%。费用存储在eosio.ramfee中,由BP节点管理。记忆是一种资源消耗,不可赎回,只能买卖。RAM本质上是一种气体,为智能契约中调用的每个事务提供资源。

2。NET带宽和CPU带宽

在EOS中,NET带宽和CPU带宽的特性是相似的。它们的主要特征包括:

通过抵押EOS获得。当不再需要CPU和带宽时,可以赎回抵押的EOS pass。赎回时,有三天的赎回期。如果你持有全网1%的EO,可以抵押这些EO获得全网1%的CPU和带宽。 这样就可以隔离开所有的DAPP,防止资源竞争和恶意的军械服务局副局长军火服务司副司长供给,无论其他的DAPP怎么样拥堵,你自己的带宽都不受影响。每次使用转账功能时,都会消耗网络带宽资源。网络带宽取决于过去三天消费的平均值,作为你下一次执行操作的费率。如果没有足够的网络带宽资源的话,你是无法使用黎明的女神网络转账等基本功能的。带宽资源是可以随着时间的推移,自动释放100 .净带宽用于增加算力,CPU带宽增加网络资源

三、项目中获取各种资源数据

通过查看账号" lixulixu1111 ",会触发如下方法

帐户信息:异步(CTX)={ let { account }=CTX。请求。body let res=await http请求。发布请求(配置。帐户信息,{ ' account _ name ':account })CTX。body=RES },RES是返回给前端的数据,如下{ 'code': 0,' status': 'success ',' data ':{ ' account _ name ':' lixu test 1111 ',' head_block_num': 22394902,' head _ block _ time ':' 2018-11-02t 02:19:01.000 ',' privileged': false,' last _ code _ update ':' 1970-01-01t 00:00.000 ',' created': '2018-11-01T09:29 keys },{ 'perm_name': 'owner ',' parent ':' ',' required_auth': { 'threshold': 1,' keys ':[{ ' key ':' EOS 7 eobyxw 7 DDK ve 7 mnt ky 3 reb 4 nzx dsw pn 19 au 9 tttfdypq 9 eobr ',' weight ':keys这样的输出其实和克莱奥斯命令行加上"-j "一样,cleos-u http://丛林。 隐狮。io:18888获取账号lixutest1111 -j下面获取我们需要的数据:

账号名称:"帐户名称":" lixutest1111 "。可用余额:"核心_液体_平衡”:“79.4019 EOS”。随机存取存储总量:" ram_quota": 5475,注意单位是字节,相当于5475/1024=5.35KB。随机存取存储已用量:"': 3734,注意单位是字节,相当于3734/1024=3.65KB。随机存取存储可卖量:ram _ quotaram _ usage=54753734=1.74 kb。 净抵押金额:“净重”:1,000,000。注意,它是使用的最小单位,精度为小数点后4位,相当于1,000,000/1000000/10000=100EOS。总净宽带:" net _ limit": {"max": 19130792},相当于19130792/1024=18682.41kb .净已用:" net _ limit": {"used": 337},相当于337/1024=0.33KB .净可赎回金额:" self _ delegated _ bandwidth ":{ " NET _ weight ":" 100.0000 EOS " }。CPU抵押金额:“CPU _ weight”:100万。注意,它是使用的最小单位,精度为小数点后4位,相当于1,000,000/1000000/10000=100EOS。CPU总量:" CPU _ limit": {"max": 3639846},注意是使用的最小单位,精度为小数点后4位,相当于100000/10000=100eos。所用CPU:“CPU _ LIMIT”:{“used”:1385 },注意单位很微妙,是3639846/1000=3639.846 ms,会根据价格变化。CPU可兑换金额:" self _ delegated _ bandwidth ":{ " CPU _ weight ":" 100.0000 EOS " },注意单位很微妙,换算成毫秒,就是3639846/1000=3639.846 ms,会根据价格变化。抵押金额:相当于可用余额,79.4019 EOS。总抵押金额:净宽带抵押金额CPU宽带抵押金额=200EOS。总资产:抵押总额可用余额=200 79.4019=279.4019 EOS .

四。不需要改变项目源代码

的后端,只需要增加一个资源管理页面,入口在账户详情里。

1.views/accountinfo.html

添加一个A标签跳转到资源管理页面。

.

资源管理.

2。router/router.js

将资源管理页面的接口绑定到路由。

.router.get('/netresource.html", webController.getNetRosourceHtml)

3. controllers/web.js

返回资源管理页面。

......getNetRosourceHtml:async(ctx) => { await ctx.render("netResource.html")},

4. views/netResource.html

在views文件夹下新建netResource.html文件,实现资源管理页面的显示。

资源管理 蓑衣网小编2022 #current-account { color:#0abc9c; font-size:26px; } #net-resource-content { display: flex; flex-wrap: wrap; width: 700px; } #net-resource-content>div { margin: 10px 10px 0 10px; border: #37cad2 1px solid; width: 300px; } .interactive { align-self: center; }

资源管理

 总资产: 可用余额 赎回金额 NET抵押 CPU抵押 RAM内存 可用 总量 蓑衣网小编2022 买入 卖出 NET宽带 抵押 可用 总量 CPU宽带 抵押 可用 总量 抵押 赎回 Copyright ? 2016-2018 北京从零到壹科技有限公司

5. static/js/netResource.js

对资源管理页面进行网络请求处理与页面渲染。$(document).ready(function () { let currentAccount = localStorage.getItem("currentAccount") $("#current-account").text(currentAccount) //我的网络资源详情ramAvailable $.post("/account/info", 蓑衣网小编2022 { "account": currentAccount }, function (res, status) { console.log(status + JSON.stringify(res)) if (res.code == 0) { let data = res.data let availableBalance = 0.0 if (data.core_liquid_balance) { availableBalance = parseFloat(data.core_liquid_balance.slice(0,-4)) } let redeemBalance = 0 let netBalance = data.net_weight / 10000 let cpuBalance = data.cpu_weight / 10000 //总资产 let totalBalance = availableBalance + redeemBalance + netBalance + cpuBalance $("#my-total-balance").text(totalBalance + " EOS") //余额 let myBalanceTable = $("#my-balance-table") let rowTr = ` ${availableBalance} EOS ${redeemBalance} EOS ${netBalance} EOS ${cpuBalance} EOS ` myBalanceTable.append(rowTr) //RAM let ramAvailable = (data.ram_quota - data.ram_usage) / 1024 let ramTotal = data.ram_quota / 1024 let myramTable = $("#my-ram-table") rowTr = ` ${ramAvailable.toFixed(2)} KB ${ramTotal.toFixed(2)} KB ` myramTable.append(rowTr) //NET let netAvailable = (data.net_limit.max - data.net_limit.used)/1024 let netTotla = data.net_limit.max/1024 let myNetTable = $("#my-net-table") rowTr = ` ${netBalance} EOS ${netAvailable.toFixed(2)} KB ${netTotla.toFixed(2)} KB ` myNetTable.append(rowTr) //CPU let cpuAvailable = (data.cpu_limit.max - data.cpu_limit.used) / 1000 let cpuTotla = data.cpu_limit.max / 1000 let myCpuTable = $("#my-cpu-table") rowTr = ` ${cpuBalance} EOS ${cpuAvailable} ms ${cpuTotla} ms ` myCpuTable.append(rowTr) } })})

五、项目效果

这是入口位置

网络资源管理页面如下

EC891F56-0A96-4226-AADA-90DF00CDAA34

六、小结

现在我们获取了基于测试网络的账号的网络资源数据,并且进行了显示,剩下的买入、卖出、抵押、赎回将在下一章介绍。

8EF2A710-E9BB-4D8B-BF96-A8EC811326B3项目源码Github地址

版权声明:博客中的文章版权归博主所有,未经授权禁止转载,转载请联系作者取得同意并注明出处。

EOS钱包开发:详解与获取RAM、NET、CPU资源数据 | 分享给朋友: