javascript - Web3如何调用返回字节32的方法?
问题描述
我正在尝试合约 DAI 的调用方法符号
contract.methods.symbol().call()
该合约返回的不是字符串,而是字节 32
由于这个事实,我总是犯错:
Number 最多只能安全存储 53 位
如何正确地做到这一点?
解决方案
正如在以太坊 stackexchange web3 中已经提到的那样string
,有 util 函数可以在和之间进行转换byte32
:
const val32 = contract.methods.symbol().call();
const valString = web3.toAscii(val32);
如果您使用的是 web3 版本 0.x。
或者:
const val32 = contract.methods.symbol().call();
const valString = web3.utils.toAscii(val32);
对于 web3 版本 1.0。
推荐阅读
- blazor - Blazor 服务器端:api 调用后刷新 gui
- reactjs - 不变违规:文本字符串必须在
使用 flatList 时的组件 - python - 如何用python拟合指数函数
- javascript - JavaScript 中的模式匹配?
- python - Python在for循环中下载多个文件
- java - Chromebook 上的 Android 应用无法使用查看/获取用户事件
- c# - 与 dotnet core 3.0 mvc 身份验证反应(没有 dotnet core 默认身份验证)
- yum - 如何为静默 yum 安装过程指定参数?
- php - 为打印机格式化文本/纯文本
- regex - 用 Regex 或 AWK 替换引号中的文本