Я провожу тестирование смарт-контракта, когда пытаюсь передать токен с помощью https://remix.ethereum.org . Это работало нормально. Но теперь я хочу написать его тестовый пример, но он не работает нормально и не передает токены. Код:
it('should properly [transfer] token', async function() {
let recipient = "0xe0f5206bbd039e7b0592d8918820024e2a7437b9";
let tokenWei = 1000000;
let status = await contract.methods.transfer(recipient, tokenWei).call();
console.log(status);
let ownerBalance = await contract.methods.balanceOf(owner).call();
let recipientBalance = await contract.methods.balanceOf("0xe0f5206bbd039e7b0592d8918820024e2a7437b9").call();
console.log("Balance:"+ownerBalance +'----'+recipientBalance);
});
Выход такой.
status = true
Balance:1705243055----100000000
Эти балансы точно такие же, как и раньше, что означает отсутствие вычета из учетной записи владельца и добавления в учетную запись получателя.
Любое руководство/помощь будут оценены.
Спасибо
Вы должны использовать отправку вместо вызова, так как вы меняете статус.
contract.methods.transfer(получатель, tokenWei).send({from: '0x123...'})
Владимир Гальярдт
Лаури Пелтонен