Я хочу отправить сообщение с одного адреса на другой в сети ethereum, используя модуль shh библиотеки web3 js.
const Web3 = require('web3');
const url = 'http://localhost:7545';
const web3 = new Web3(url);
const eventProvider = new Web3.providers.WebsocketProvider('ws://localhost:7545')
web3.setProvider(eventProvider);
await web3.eth.net.isListening();
const POW_TIME = 100;
const TTL = 20;
const POW_TARGET = 2;
await web3.shh.post({
pubKey: accounts[0],
sig: accounts[0],
ttl: TTL,
topic: [accounts[1]],
payload: web3.utils.fromAscii('messageContent'),
powTime: POW_TIME
});
web3.shh.subscribe("messages", {
minPow: POW_TARGET,
privateKeyID: accounts[1],
topics: [accounts[1]]
}).on('data', (data) => {
console.log(data);
}).on('error', (err) => {
console.log(err);
});
Здесь учетные записи поступают от ganache, который работает на моем локальный компьютер. Когда я выполняю приведенный выше код, я сталкиваюсь со следующей ошибкой:
Ошибка узла: {"message": "Неверное количество аргументов. Метод 'shh_post' требует ровно 6 аргументов. Запросите 1 аргумент: [{\ \ "Публичных \": \ "0x462Ea4760182EA27c5B0fbDD383Ad47dC5d68925 \", \ "сиг \": \ "0x462Ea4760182EA27c5B0fbDD383Ad47dC5d68925 \", \ "ТТЛ \": 20 \ "тема \": [\ "0x5AEf1fE702a95aBeDBC901C83570ED23C16A8976 \"] \ "полезная нагрузка \" : \ "0x6d657373616765436f6e74656e74000000000000000000000000000000000000000000000000000000000000000000000000000000 \", \ "powTime \": 100}, null]. "," Code ": - 32000
Может кто-нибудь подсказать, пожалуйста, как решить эту ошибку?