web3js, индексированные параметры события поменялись местами / повреждены - PullRequest
0 голосов
/ 27 февраля 2019

Если я индексирую параметр или любое количество параметров, возвращаемые значения меняются местами и / или портятся в журнале событий из web3js.

Журнал событий, возвращаемый в консоли Truffle, является правильным, как и возвращаемые значения при совершении вызова view в приватную цепочку блоков.Это наводит меня на мысль, что где-то данные каким-то образом повреждены web3js.

Вот событие с индексированными параметрами:

event ReportedFraud(
    uint256 indexed fraudID,
    address bank,
    string accountNumber,
    string routingNumber,
    uint256 indexed amount,
    uint256 indexed fromID,
    uint256 time
);

Вот самый простой JS, который я могу использовать для чтенияиз журнала событий:

this.KYCinstance.getPastEvents('ReportedFraud', {fromBlock:0, toBlock:'latest'},
    (error, events) => {console.log(events);
  });

Вот ответ:

accountNumber: "123"
amount: "1"
bank: "0x10674178eAf18F06785b76fF689dcfa5175b098C"
fraudID: "51119459429513360686315515087327623333677688524449823590986145582251952174345"
fromID: "50000"
routingNumber: "456"
time: "1551236055"

А вот правильный ответ, который возвращается, когда ни один из параметров не проиндексирован:

accountNumber: "123"
amount: "50000"
bank: "0x10674178eAf18F06785b76fF689dcfa5175b098C"
fraudID: "1"
fromID: "0"
routingNumber: "456"
time: "1551236055"

Как видите, все проиндексированные параметры (amount, fraudID, fromID) либо поменяны местами, либо повреждены, но при использовании ключевого слова indexed проблем не возникает.

...