вызывая смарт-контрактные функции как строку в javascript web3 - PullRequest
0 голосов
/ 09 декабря 2018

Вот мой вопрос: вместо вызова такой умной контрактной функции, как эта

//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}];
})

Спасибо.

1 Ответ

0 голосов
/ 10 декабря 2018

К объектам в javascript можно обращаться как к массиву, используя ключи в качестве индексов.Так что в вашем случае это будет:

var funcName = "balanceOf";
var parameter = "0x, 0x";
contract.methods[funcName]("0x", "0x").call(err, balance) => {
   console.log({err, balance}];
})

Но способ передачи параметра не будет работать так.Вы просто передаете строку в качестве параметра.Думайте об этом как о передаче параметров любой другой функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...