Тестирование на Ринкеби

Я пытаюсь проверить на Ринкеби, поэтому я выполнил следующую команду

geth --rpc --rpcaddr localhost --rpcport 8545

В моем файле Javascript у меня есть следующий код

if (typeof web3 !== 'undefined') {
        window.web3 = new Web3(web3.currentProvider);
        console.log(`Web 3 is: ${web3}`);
    } else {
        console.log('No web3? You should consider trying MetaMask!')
        window.web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
        console.log(window.web3);
    }

Однако он все еще регистрируется. No web3? You should consider trying MetaMask!Что именно я здесь делаю неправильно? Я установил Rinkeby на локальный хост 8545.

Вот мой лог терминала

My-MacBook-Pro:opt jorah$ geth --rpc --rpcaddr localhost --rpcport 8545
WARN [12-22|13:09:53] No etherbase set and no accounts found as default 
INFO [12-22|13:09:53] Starting peer-to-peer node               instance=Geth/v1.7.3-stable/darwin-amd64/go1.9.2
INFO [12-22|13:09:53] Allocated cache and file handles         database=/Users/jorah/Library/Ethereum/geth/chaindata cache=128 handles=1024
INFO [12-22|13:09:53] Initialised chain configuration          config="{ChainID: 1 Homestead: 1150000 DAO: 1920000 DAOSupport: true EIP150: 2463000 EIP155: 2675000 EIP158: 2675000 Byzantium: 4370000 Engine: ethash}"
INFO [12-22|13:09:53] Disk storage enabled for ethash caches   dir=/Users/jorah/Library/Ethereum/geth/ethash count=3
INFO [12-22|13:09:53] Disk storage enabled for ethash DAGs     dir=/Users/jorah/.ethash                      count=2
INFO [12-22|13:09:53] Initialising Ethereum protocol           versions="[63 62]" network=1
INFO [12-22|13:09:53] Loaded most recent local header          number=122324 hash=908be9…a59305 td=266307762302484554
INFO [12-22|13:09:53] Loaded most recent local full block      number=0      hash=d4e567…cb8fa3 td=17179869184
INFO [12-22|13:09:53] Loaded most recent local fast block      number=121396 hash=2944a5…a901e0 td=262160416031487320
INFO [12-22|13:09:53] Upgrading chain index                    type=bloombits percentage=86
INFO [12-22|13:09:53] Loaded local transaction journal         transactions=0 dropped=0
INFO [12-22|13:09:53] Regenerated local transaction journal    transactions=0 accounts=0
INFO [12-22|13:09:53] Starting P2P networking 
INFO [12-22|13:09:54] Finished upgrading chain index           type=bloombits
INFO [12-22|13:09:55] UDP listener up                          self=enode://14b2c0b7c271faede8b3049c0c6cb23f8f7e8b9d7cabc1cd6a852a8e6fa3d776f9189c882fa7833f5078965d919b9670782438ca7586ca3ea520848760b33179@[::]:30303
INFO [12-22|13:09:55] RLPx listener up                         self=enode://14b2c0b7c271faede8b3049c0c6cb23f8f7e8b9d7cabc1cd6a852a8e6fa3d776f9189c882fa7833f5078965d919b9670782438ca7586ca3ea520848760b33179@[::]:30303
INFO [12-22|13:09:55] IPC endpoint opened: /Users/jorah/Library/Ethereum/geth.ipc 
INFO [12-22|13:09:55] HTTP endpoint opened: http://localhost:8545 
INFO [12-22|13:10:45] Block synchronisation started 
WARN [12-22|13:10:45] Synchronisation failed, retrying         err="block download canceled (requested)"
INFO [12-22|13:11:06] Imported new block headers               count=0 elapsed=9.072ms number=121780 hash=91b038…8f47ad ignored=384
INFO [12-22|13:11:08] Imported new state entries               count=247 elapsed=6.445µs processed=247 pending=3953 retry=0 duplicate=0 unexpected=0
Если код javascript, который вы связываете, запускается через веб-браузер, вам следует дважды проверить, установлена ​​​​ли метамаска и указана сеть rinkeby. Если код javascript, который вы связываете, выполняется на сервере, я бы выбрал подключение к конечной точке IPC.

Ответы (1)

Попробуйте также добавить следующие флаги. Я предполагаю, что веб-часть rpcapi не была загружена командой, которую вы запустили. --rpcapi db,eth,net,web3,personalи--rpccorsdomain "*"

Полная команда будет похожа

geth --rinkeby --rpc --rpcapi db,eth,net,web3,personal --cache=2048  --rpcport 8545 --rpcaddr 127.0.0.1 --rpccorsdomain "*"
Это действительно решило это! Вопрос в том, как мне теперь подключить к нему MetaMask? И как мне получить учетную запись по умолчанию?
Здесь есть две вещи: 1. если вы используете метамаску, вам не нужен локальный гет-узел. 2. Если вы хотите подключить метамаску к вашему локальному узлу, вы можете щелкнуть раскрывающийся список рядом с меткой «основная сеть», где вы можете выбрать локальный хост 8545.
Если я использую метамаску, как мне к ней подключиться? Я пытался сделать это if (typeof web3 !== 'undefined'), чтобы проверить, подключен ли я к Ринкеби, но всегда показывает, что я не подключен.
Вы должны войти в метамаску и подключиться к сети rinkeby в ней. Вы также можете импортировать в него свою учетную запись.