Web3, как вызвать метод, который возвращает 32 байта? - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь вызвать метод вызова символа контракта DAI

contract.methods.symbol().call()

Этот контракт возвращает не строку, а байты 32

И в силу этого факта я всегда получаю ошибку:

Номер может безопасно хранить только до 53 бит

Как это сделать правильно?

1 Ответ

0 голосов
/ 30 апреля 2019

Как уже упоминалось в ethereum stackexchange , web3 имеет функции util для преобразования между string и 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);

для веб3 версии 1.0.

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