Кто-нибудь может мне помочь? Это простой quesiton: eth_subscribe: уведомления не поддерживаются

Мой geth verison:

  ./geth version
Geth
Version: 1.5.8-unstable

и запустите geth с помощью команды ниже:

 ./geth --identity "helloworld"   --ws  --wsaddr 192.168.241.128 --wsport 8545  --rpc  --rpcaddr 192.168.241.128 --rpcport 8545 --rpccorsdomain "*"   --datadir "$basepath/chain" --port "30303"  --rpcapi "db,eth,net,ssh,miner,web3,personal,admin" --networkid 88888 console

и введите команду ниже в другой консоли:

curl 192.168.241.128:8545 -X POST --data '{"id": 1, "method": "eth_subscribe", "params": ["newHeads"]}'
{"jsonrpc":"2.0","id":1,"error":{"code":-32000,"message":"notifications not supported"}}

, когда я набрал команду, изменил порт на 8546:

curl 192.168.241.128:8546 -X POST --data '{"id": 1, "method": "eth_subscribe", "params": ["newHeads"]}'
bad method

Я нашел из https://github.com/ethereum/go-ethereum /wiki /RPC-PUB-SUB : Начиная с версии 1.4, у geth есть экспериментальная поддержка pub /sub с использованием подписки, как определено в спецификации JSON-RPC 2.0. Это позволяет клиентам ждать событий вместо опроса для них.

Итак, моя версия geth выше 1.4. Так в чем проблема?   Спасибо.

5 голосов | спросил jiebang 15 PMpSat, 15 Apr 2017 17:05:05 +030005Saturday 2017, 17:05:05

1 ответ


0

Я обнаружил, что в документе ethereum:  для подписки требуется полное дуплексное соединение. Geth предлагает такие соединения в виде websockets (enable with -ws) и ipc (по умолчанию включен).

, поэтому он должен подчиняться правилу websockets, поэтому

curl 192.168.241.128:8545 -X POST --data '{"id": 1, "method": "eth_subscribe", "params": ["newHeads"]}',

это правило http, а 8545 - не порты websocket, оно должно быть 8546.  И мы замечаем 2 пункта выше, мы с ним общаемся.

ответил jiebang 18 AMpTue, 18 Apr 2017 04:33:04 +030033Tuesday 2017, 04:33:04

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132