butteff
@butteff
Раз в тысячу лет заправляю свитер в носки

Как я могу получить значение переменной, основанной на abi смарт контракта (Etherium VM) и web3.js?

Я использую web3.js и пытаюсь получить значение переменной из смарт контракта.

Мой код для этого такой:

var contract = web3.eth.contract(abi).at(address);

где abi - json array и address - действительный нормальный и рабочий адрес, где расположен smart контракт.

Часть abi json объекта тут:

{
"constant": true,
"inputs": [],
"name": "weiRaised",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"type": "function"
},


Когда я использую этот код:

console.log(contract.abi[0].abi[6].name);

Я вижу "weiRaised" в консоли браузера.

Но если я использую

console.log(contract.abi[0].abi[6].inputs);
Я вижу 'undefined'.

Что я делаю не так? Как я могу получить значение переменной, основанной на abi смарт контракта и web3.js? В официальном Stack Exchange ничего нету по теме.
  • Вопрос задан
  • 438 просмотров
Пригласить эксперта
Ответы на вопрос 1
@AnneSmith
самая ленивая
с эфиром ни в каком виде дела я не имела, но вот что возвращает консоль на простых примерах
var inp = [];
undefined
inp[0]
undefined
var inp = [0]
undefined
inp[0]
0
var inp = [99]
undefined
inp[0]
99

то есть, если в ваших inputs пустой массив без данных, то и получить данные из него нельзя
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы