Как заставить сервер вернуть удаленный объект json клиенту?реагируют / экспресс / web3 - PullRequest
0 голосов
/ 13 декабря 2018

Я использую web3 для отправки транзакции на Ethereum.Мой express сервер регистрирует данные блока, транзакции и т. Д. Как объект json.Мне нужно, чтобы json вернулся к клиенту.

Этот вопрос рискует повторить предыдущий вопрос, но я считаю, что он более точный, в сущности, и, в конечном счете, другой вопрос.Эти предыдущие темы помогли мне удалить несколько ошибок из кода и сосредоточиться на том, что на самом деле происходит.

Как вернуть данные json в состояние реакции?

Как дождаться возвращения значения json (возврат занимает не менее 30 секунд), прежде чем регистрировать его?JavaScript / реагировать / экспресс

Как установить состояние компонента реагирования с конкретным элементом из возвращенного объекта JSON?

Конкретный код, который возвращаетсяпустое значение вместо json объекта:

web3.eth
  .sendSignedTransaction("0x" + serializedTx.toString("hex"))
  .on("receipt", console.log, res.json());

Код клиента:

axios
   .post("http://ec2-54-67-28-69.us-west-1.compute.amazonaws.com:3000/")

   .then(response => console.log(response.data, payment))
   .catch(function(error) {
     console.log(error);
   })

Мне как-то нужно получить объект json внутри res.json(), но положитьон внутри функции () не работает.Какие-либо предложения?Спасибо!

Редактировать.Я почти уверен, что мне нужно использовать что-то из этого:

web3.eth.sendTransaction({from: '0x123...', data: '0x432...'})
.once('transactionHash', function(hash){ ... })
.once('receipt', function(receipt){ ... })
.on('confirmation', function(confNumber, receipt){ ... })
.on('error', function(error){ ... })
.then(function(receipt){
    // will be fired once the receipt is mined
});

1 Ответ

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

Попробуйте:

web3.eth
   .sendSignedTransaction("0x" + serializedTx.toString("hex"))
   .on("receipt", res.json);

То, как вы это сделали res.json(), было вызвано без параметров.

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