在Ethereum 2.0中,如何编写检查Validator平衡的JS代码,很多新手都不是很清楚。为了帮助大家解决这个问题,下面小编就详细讲解一下。需要的人可以从中学习,希望你能有所收获。
ETH 2.0中抵押的一个基本要求是监控其验证者余额。我们将学习如何使用Infura的ETH 2.0信标链API编写一个程序来查询验证者余额。
ETH 2.0的零阶段起步越来越近,参与威迪上房贷和即将上线的altona测试的兴趣也越来越大。——调查报告显示,超过65%的受访者表示希望抵押自己的ETH。
首先,我们需要引入axio库,并创建一个HTTP客户端,从环境变量中加载Infura项目ID:
来自“axios”的重要信息;
const instance=axios . create({ 0
base URL : ' https://witti . infura . io/',
auth:{
username : process . env . infura _ PROJECt _ ID,
密码: ' ',
},
});我们需要定义一些网络相关的参数。前两个帮助我们计算当期(epoch),最后一个用于将余额单位从gwei转换为eth,我们比较熟悉:
constSECONDS _ PER _ SLOT=12
constSLOTS _ PER _ EPOCH=32
constGWEI _ PER _ ETH=1000000000接下来,我们将查询网络的创建数据来计算当前周期:
(async()={ 0
let response=await instance . get(' node/genesis _ time ')
constGenesistime=response . data;
const now=math . floor(date . now()/1000)
常量epoch=math . floor((now-创世纪时间)/(秒_ per _ slot * slots _ per _ epoch))有了这些代码,我们就可以查询Validator的当前余额了。这里,我们在编写文章时使用具有最高平衡的验证器的公钥:
response=awaitinstance.post('信标/验证器',{ 0
epoch : currenttepoch . tostring(),
public key :['0xb 0 BFA 93603 f 81 ecaf 3c 450 b 793 e 71 f 7372822 CD 2002534364493 e4e 497 FB 5 df 16d 252 AE 2 FDC 6 BBC 0 e 74d 849 f 918 db 393 '],
});
const balancegwei=response . data[0]。平衡;
const balance=balanceGwei/GWEI _ PER _ ETH;
console . log(` youhave $ { balance }2.0 `);
})();当我们运行这个程序时,我们可以看到以下输出:
你有32.500178823 2.0以下是查询ETH 2.0校验器余额的完整代码:
来自“axios”的重要信息;
const instance=axios . create({ 0
base URL : ' https://witti . infura . io/',
auth:{
username : process . env . infura _ PROJECt _ ID,
密码: ' ',
},
});
constSECONDS _ PER _ SLOT=12
constSLOTS _ PER _ EPOCH=32
constGWEI _ PER _ ETH=1000000000
(async()={ 0
let response=await instance . get(' node/genesis _ time ')
constGenesistime=response . data;
const now=math . floor(date . now()/1000)
const current poch=math . floor((now-genesisTime)/(SECONDS _ PER _ SLOT * SLOTS _ PER _ EPOCH))
response=awaitinstance.post('信标/验证器',{ 0
epoch : currenttepoch . tostring(),
public key :['0xb 0 BFA 93603 f 81 ecaf 3c 450 b 793 e 71 f 7372822 CD 2002534364493 e4e 497 FB 5 df 16d 252 AE 2 FDC 6 BBC 0 e 74d 849 f 918 db 393 '],
});
const balancegwei=response . data[0]。平衡;
const balance=balanceGwei/GWEI _ PER _ ETH;
console . log(` youhave $ { balance }2.0 `);
})();阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/144829.html