Ошибка: недостаточно данных для типа uint128, вызывающего переменную интеллектуального контракта - PullRequest
0 голосов
/ 14 сентября 2018

При вызове переменной по смарт-контракту я получаю эту ошибку:

Ошибка: недостаточно данных для типа uint128 (arg = "", coderType = "uint128", значение = "0x00")

из javascript в браузере:

    myContract.methods.grantSize().call(function (err, res) {
    if (err) {
        console.log(err.toString());
    } else {
    }

Контракт солидности:

uint128 public grantSize;

Пара тестов показывает, что grantSize должен быть 0,003 эфира.Любые идеи наиболее полезны.

Web3.js 1.0 beta 36

Трюфель v4.1.14 (ядро: 4.1.14)

Солидность v0.4.24 (solc-js)

ganache-cli@6.1.8

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

У меня тоже был этот вопрос , Я получил вдохновение от вашего ответа. моя ошибка была вызвана тем, что мой экземпляр mContract, созданный асинхронно, не существовал.

0 голосов
/ 14 сентября 2018

Теперь я могу ответить на него сам :) Это потому, что адрес контракта был неверно указан (ранее в коде), поэтому имеет смысл, что у этой переменной недостаточно данных.Тем не менее, он также может сказать «переменная не найдена» или, что лучше, «Контракт не найден по этому адресу: [адрес]».Это можно рассматривать как толчок на web3js.

...