geth: shh_newIdentity existiert nicht/ist nicht verfügbar

Ich probiere Flüstern mit web3und gethauf einem privaten Testnetz aus. Ich führe gerade den folgenden Code aus dem Ethereum Whisper-Wiki aus .

function sendWhisper() {
    var shh = web3.shh;
    var appName = "My silly app!";
    var myName = "Gav Would";
    var myIdentity = shh.newIdentity();
}

Allerdings bekomme ich dieses Problem:

app.js:5318 Uncaught Error: Die Methode shh_newIdentity existiert nicht/ist nicht verfügbar

Ich habe eine wilde Vermutung, dass da etwas nicht stimmt geth. Laut diesem Problem sollte der JSON RPC shh_newIdentitybereits implementiert sein. Irgendwelche Ideen?

Ist mir nicht aufgefallen, aber hey! Erster Post auf Ethereum Stackexchange!

Antworten (2)

Sie müssen gethmit dem --shhParameter beginnen.

user@Kumquat:~$ geth help | grep shh
--shh      Enable Whisper

Ohne --shhParameter:

user@Kumquat:/tmp$ geth --datadir test console
...
>   var shh = web3.shh;
undefined
>   var appName = "My silly app!";
undefined
>   var myName = "Gav Would";
undefined
>   var myIdentity = shh.newIdentity();
The method shh_newIdentity does not exist/is not available
    at web3.js:3119:20
    at web3.js:6023:15
    at web3.js:4995:36
    at <anonymous>:1:20

Mit dem --shhParameter:

user@Kumquat:/tmp$ geth --datadir test --shh console
>   var shh = web3.shh;
undefined
>   var appName = "My silly app!";
undefined
>   var myName = "Gav Would";
undefined
>   var myIdentity = shh.newIdentity();
undefined
Vielen Dank! Ich wollte nur hinzufügen, dass ich in meinem Fall auch shh zu --rcpapi hinzufügen muss:--rpc --rpcport 8545 --rpcaddr 0.0.0.0 --rpccorsdomain "*" --rpcapi "db,eth,net,web3,shh"

In Geth müssen Sie die Flags --shh und --rpcapi "db,eth,net,web3,shh" angeben