javascript - 在javascript web3中将智能合约功能调用为aa字符串
问题描述
这是我的问题:而不是像这样调用智能合约函数
//assuming the name of the contract function is called "balanceOf"
contract.methods.balanceOf("0x", "0x").call(err, balance) => {
console.log({err, balance});
})
我想知道是否可以这样调用:
var funcName = "balanceOf";
var parameter = "0x, 0x";
contract.methods.funcName(parameter).call(err, balance) => {
console.log({err, balance}];
})
谢谢你。
解决方案
通过使用键作为索引,可以像数组一样访问 javascript 中的对象。因此,在您的情况下,它将是:
var funcName = "balanceOf";
var parameter = "0x, 0x";
contract.methods[funcName]("0x", "0x").call(err, balance) => {
console.log({err, balance}];
})
但是你传递参数的方式不会像那样工作。您只是将字符串作为参数传递。可以把它想象成将参数传递给任何其他函数。
推荐阅读
- python - 从 AJAX 向 python 烧瓶发送数据的问题
- typescript - 如何在有关 Firestore 的角度测试中解决此错误(InjectionToken angularfire2.app.options 没有提供者!)?
- android - Android、Java - setSmallIcon() 隐藏在新通知中。但通知仍然存在于通知抽屉中
- r - 如何控制 R 中旋转(更宽)列的顺序?tidyverse 问题 839
- python - torch.transforms.normalize 中的数字是多少以及如何选择它们?
- winapi - WinAPI OpenQuery 产生错误
- php - PHP - excel文件下载
- python - pandas:使用字典的键对 Serie 的值进行聚类
- python - 获取 HKEY 常量根目录中的注册表项
- php - 完整性约束违规:1451 无法删除或更新父行:外键