首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何安全管理卫单位?

如何安全管理卫单位?
EN

Ethereum用户
提问于 2020-11-22 12:48:04
回答 1查看 6.3K关注 0票数 4

我对如何在web3应用程序中使用WEI管理/计算感到困惑。

到目前为止我发现:

  • BigInt:这是JS本机的,它的工作量很大(例如10000000000000000000000)。但它没有开箱即用的实用工具,例如转换为十六进制。
  • BigNumber:这是醚类提供的:

values中的许多操作都是针对在JavaScript中使用的安全值范围之外的数字进行的。BigNumber是一个安全地允许对任意大小的数字进行数学运算的对象。

考虑到这个描述,并且它是专门为Ethereum服务的,我认为这一定是它,但它实际上并不适用于大量的数据:

代码语言:javascript
运行
复制
// Numbers outside the safe range fail:
BigNumber.from(Number.MAX_SAFE_INTEGER);
// Error: overflow (fault="overflow", operation="BigNumber.from", value=9007199254740991, code=NUMERIC_FAULT, version=bignumber/5.0.8)

除此之外,对于魏,我可能需要整数,而不是浮点数。

那么对魏的建议是什么呢?

在理想的情况下,我想要的不仅仅是代表大数的东西,还有实际的WEIs,并且内置了一些功能,可以安全地转换为GWEI或ETH,并在开箱即用的情况下进行计算,但这并不是必须的。

使用打字本,但可能与此无关。

编辑:我找到了另一个库:BigNumber.js。这似乎是我所期望的。它可以转换为字符串来与web3.js交互。

EN

回答 1

Ethereum用户

发布于 2020-11-22 17:59:09

BigNumber是推荐的方法。可能它比各种BigInt库有更好的支持。

有很多BigNumber库,我猜它们中的大多数都提供了非常相似的功能。所以他们中的任何一个对你来说都会很好。

至少ethers.js有内置的BigNumber支持,所以如果您碰巧使用了该库,就不需要进一步查看了。

当您拥有您的BigNumber库时,您可以使用这样的方法获得常规令牌数量(取自我的ERC20令牌部署脚本之一):

代码语言:javascript
运行
复制
var exp = ethers.BigNumber.from("10").pow(18);
const supply = ethers.BigNumber.from("50").mul(exp);
票数 6
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/90403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档