Hi,
I’m trying to start BlockScout in a docker container. It’s a Besu Network and I’m configuring the ENV variables described below:
ETHEREUM_JSONRPC_VARIANT=besu ETHEREUM_JSONRPC_HTTP_URL=http://xx.xx.xx.xx:8545 ETHEREUM_JSONRPC_WS_URL=ws://xx.xx.xx.xx:8546 make start
Blockscout starts correctly but don’t show blocks and it appears the error described below on logs:
Retrying.
2020-06-29T18:31:04.593 application=indexer fetcher=block_catchup first_block_number=7205513 last_block_number=7205504 [error] ** (FunctionClauseError) no function clause matching in EthereumJSONRPC.HTTP.HTTPoison.json_rpc/3
(ethereum_jsonrpc 0.1.0) lib/ethereum_jsonrpc/http/httpoison.ex:11: EthereumJSONRPC.HTTP.HTTPoison.json_rpc(nil, [91, ["{\"", [[] | "id"], "\":", "0", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF280"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "1", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF281"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "2", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF282"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "3", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF283"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "4", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF284"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "5", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF285"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "6", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF286"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "7", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF287"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "8", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF288"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "9", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF289"], 34], 93], 125], 93], [recv_timeout: 600000, timeout: 600000, hackney: [pool: :ethereum_jsonrpc]])
(ethereum_jsonrpc 0.1.0) lib/ethereum_jsonrpc/http.ex:63: EthereumJSONRPC.HTTP.chunked_json_rpc/3
(ethereum_jsonrpc 0.1.0) lib/ethereum_jsonrpc/request_coordinator.ex:86: anonymous fn/3 in EthereumJSONRPC.RequestCoordinator.perform/4
(ethereum_jsonrpc 0.1.0) lib/ethereum_jsonrpc/request_coordinator.ex:106: EthereumJSONRPC.RequestCoordinator.trace_request/2
(ethereum_jsonrpc 0.1.0) lib/ethereum_jsonrpc/besu.ex:25: EthereumJSONRPC.Besu.fetch_beneficiaries/2
(indexer 0.1.0) lib/indexer/block/fetcher.ex:355: Indexer.Block.Fetcher.fetch_beneficiaries/2
(indexer 0.1.0) lib/indexer/block/fetcher.ex:140: Indexer.Block.Fetcher.fetch_and_import_range/2
(indexer 0.1.0) lib/indexer/block/catchup/fetcher.ex:194: Indexer.Block.Catchup.Fetcher.fetch_and_import_range_from_sequence/3
Retrying.
2020-06-29T18:31:04.595 application=indexer fetcher=block_catchup first_block_number=7205503 last_block_number=7205494 [error] ** (FunctionClauseError) no function clause matching in EthereumJSONRPC.HTTP.HTTPoison.json_rpc/3
(ethereum_jsonrpc 0.1.0) lib/ethereum_jsonrpc/http/httpoison.ex:11: EthereumJSONRPC.HTTP.HTTPoison.json_rpc(nil, [91, ["{\"", [[] | "id"], "\":", "0", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF276"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "1", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF277"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "2", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF278"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "3", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF279"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "4", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF27A"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "5", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF27B"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "6", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF27C"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "7", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF27D"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "8", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF27E"], 34], 93], 125], 44, ["{\"", [[] | "id"], "\":", "9", ",\"", [[] | "jsonrpc"], "\":", [34, [[] | "2.0"], 34], ",\"", [[] | "method"], "\":", [34, [[] | "trace_block"], 34], ",\"", [[] | "params"], "\":", [91, [34, [[] | "0x6DF27F"], 34], 93], 125], 93], [recv_timeout: 600000, timeout: 600000, hackney: [pool: :ethereum_jsonrpc]])
(ethereum_jsonrpc 0.1.0) lib/ethereum_jsonrpc/http.ex:63: EthereumJSONRPC.HTTP.chunked_json_rpc/3
(ethereum_jsonrpc 0.1.0) lib/ethereum_jsonrpc/request_coordinator.ex:86: anonymous fn/3 in EthereumJSONRPC.RequestCoordinator.perform/4
(ethereum_jsonrpc 0.1.0) lib/ethereum_jsonrpc/request_coordinator.ex:106: EthereumJSONRPC.RequestCoordinator.trace_request/2
(ethereum_jsonrpc 0.1.0) lib/ethereum_jsonrpc/besu.ex:25: EthereumJSONRPC.Besu.fetch_beneficiaries/2
(indexer 0.1.0) lib/indexer/block/fetcher.ex:355: Indexer.Block.Fetcher.fetch_beneficiaries/2
(indexer 0.1.0) lib/indexer/block/fetcher.ex:140: Indexer.Block.Fetcher.fetch_and_import_range/2
(indexer 0.1.0) lib/indexer/block/catchup/fetcher.ex:194: Indexer.Block.Catchup.Fetcher.fetch_and_import_range_from_sequence/3
Retrying.
2020-06-29T18:31:04.597 application=indexer fetcher=block_catchup [error] Catchup index stream exited with reason ({%ArgumentError{message: "Could not convert receipt to elixir\n\nReceipt:\n %{\"blockHash\" => \"0x9b62fc817becc06566cb012ad12ee73e059caf944faee3bed8363329367b81ce\", \"blockNumber\" => \"0x6df2f6\", \"contractAddress\" => nil, \"cumulativeGasUsed\" => \"0x232b7\", \"from\" => \"0x0c4f89db9cded5a25b1b685b36b118c15f90cdfc\", \"gas\" => 3000000, \"gasUsed\" => \"0x232b7\", \"logs\" => [], \"logsBloom\" => \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\", \"revertReason\" => \"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001e436f6d6d6f6e496e76616c696453657175656e63654576656e74436f64650000\", \"status\" => \"0x0\", \"to\" => \"0x37b538b66b56d0fa14633e4baeb6198497ce304d\", \"transactionHash\" => \"0xa019dece33dab729ae29b10274cb53df7912b2867d0f770069f9875c13fba392\", \"transactionIndex\" => \"0x0\"}\n\nErrors:\n {:unknown_key, %{key: \"revertReason\", value: \"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001e436f6d6d6f6e496e76616c696453657175656e63654576656e74436f64650000\"}}\n"}, [{EthereumJSONRPC.Receipt, :ok!, 2, [file: 'lib/ethereum_jsonrpc/receipt.ex', line: 236]}, {Enum, :"-map/2-lists^map/1-0-", 2, [file: 'lib/enum.ex', line: 1396]}, {EthereumJSONRPC.Receipts, :fetch, 2, [file: 'lib/ethereum_jsonrpc/receipts.ex', line: 138]}, {Task.Supervised, :invoke_mfa, 2, [file: 'lib/task/supervised.ex', line: 90]}, {Task.Supervised, :reply, 5, [file: 'lib/task/supervised.ex', line: 35]}, {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 249]}]}). Restarting
2020-06-29T18:31:04.597 [error] GenServer :block_catchup_sequencer terminating
** (ArgumentError) Could not convert receipt to elixir
Receipt:
%{"blockHash" => "0x9b62fc817becc06566cb012ad12ee73e059caf944faee3bed8363329367b81ce", "blockNumber" => "0x6df2f6", "contractAddress" => nil, "cumulativeGasUsed" => "0x232b7", "from" => "0x0c4f89db9cded5a25b1b685b36b118c15f90cdfc", "gas" => 3000000, "gasUsed" => "0x232b7", "logs" => [], "logsBloom" => "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "revertReason" => "0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001e436f6d6d6f6e496e76616c696453657175656e63654576656e74436f64650000", "status" => "0x0", "to" => "0x37b538b66b56d0fa14633e4baeb6198497ce304d", "transactionHash" => "0xa019dece33dab729ae29b10274cb53df7912b2867d0f770069f9875c13fba392", "transactionIndex" => "0x0"}
Errors:
{:unknown_key, %{key: "revertReason", value: "0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001e436f6d6d6f6e496e76616c696453657175656e63654576656e74436f64650000"}}
(ethereum_jsonrpc 0.1.0) lib/ethereum_jsonrpc/receipt.ex:236: EthereumJSONRPC.Receipt.ok!/2
(elixir 1.10.2) lib/enum.ex:1396: Enum."-map/2-lists^map/1-0-"/2
(ethereum_jsonrpc 0.1.0) lib/ethereum_jsonrpc/receipts.ex:138: EthereumJSONRPC.Receipts.fetch/2
(elixir 1.10.2) lib/task/supervised.ex:90: Task.Supervised.invoke_mfa/2
(elixir 1.10.2) lib/task/supervised.ex:35: Task.Supervised.reply/5
(stdlib 3.11.2) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
Last message: {:EXIT, #PID<0.18451.1>, {%ArgumentError{message: "Could not convert receipt to elixir\n\nReceipt:\n %{\"blockHash\" => \"0x9b62fc817becc06566cb012ad12ee73e059caf944faee3bed8363329367b81ce\", \"blockNumber\" => \"0x6df2f6\", \"contractAddress\" => nil, \"cumulativeGasUsed\" => \"0x232b7\", \"from\" => \"0x0c4f89db9cded5a25b1b685b36b118c15f90cdfc\", \"gas\" => 3000000, \"gasUsed\" => \"0x232b7\", \"logs\" => [], \"logsBloom\" => \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\", \"revertReason\" => \"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001e436f6d6d6f6e496e76616c696453657175656e63654576656e74436f64650000\", \"status\" => \"0x0\", \"to\" => \"0x37b538b66b56d0fa14633e4baeb6198497ce304d\", \"transactionHash\" => \"0xa019dece33dab729ae29b10274cb53df7912b2867d0f770069f9875c13fba392\", \"transactionIndex\" => \"0x0\"}\n\nErrors:\n {:unknown_key, %{key: \"revertReason\", value: \"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001e436f6d6d6f6e496e76616c696453657175656e63654576656e74436f64650000\"}}\n"}, [{EthereumJSONRPC.Receipt, :ok!, 2, [file: 'lib/ethereum_jsonrpc/receipt.ex', line: 236]}, {Enum, :"-map/2-lists^map/1-0-", 2, [file: 'lib/enum.ex', line: 1396]}, {EthereumJSONRPC.Receipts, :fetch, 2, [file: 'lib/ethereum_jsonrpc/receipts.ex', line: 138]}, {Task.Supervised, :invoke_mfa, 2, [file: 'lib/task/supervised.ex', line: 90]}, {Task.Supervised, :reply, 5, [file: 'lib/task/supervised.ex', line: 35]}, {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 249]}]}}
State: %Indexer.Block.Catchup.Sequence{bound_queue: %Indexer.BoundQueue{maximum_size: nil, queue: {[{7205503, 7205494}, {7205513, 7205504}, {7205533, 7205524}, {7205593, 7205584}, {7205563, 7205554}, {7205543, 7205534}, {7205583, 7205574}, {7205553, 7205544}, {7205573, 7205564}, {7205673, 7205664}, {7205603, 7205594}, {7205613, 7205604}, {7205693, 7205684}, {7205683, 7205674}, {7205653, 7205644}, {7205643, 7205634}, {7205733, 7205724}, {7205663, 7205654}, {7205723, 7205714}, {7205633, 7205624}, {7205713, 7205704}, {7205703, 7205694}, {7205743, 7205734}, {7205763, 7205754}, {7205773, 7205764}, {7205753, 7205744}, {7205793, 7205784}, {7205783, 7205774}, {7205803, 7205794}, {7205813, 7205804}, {7205833, 7205824}, {7205853, 7205844}, {7205823, 7205814}, {7205863, 7205854}, {7205873, 7205864}, {7205843, 7205834}, {7205893, 7205884}, {7205903, 7205894}, {7205883, 7205874}, {7205913, 7205904}, {7205923, 7205914}, {7205933, 7205924}, {7205943, 7205934}, {7205953, 7205944}, {7205973, ...}, {...}, ...], [{7205423, 7205414}, {7205413, 7205404}, {7205403, 7205394}, {7205393, 7205384}, {7205383, 7205374}, {7205373, 7205364}, {7205363, 7205354}, {7205353, 7205344}, {7205343, 7205334}, {7205333, 7205324}, {7205323, 7205314}, {7205313, 7205304}, {7205303, 7205294}, {7205293, 7205284}, {7205283, 7205274}, {7205273, 7205264}, {7205263, 7205254}, {7205253, 7205244}, {7205243, 7205234}, {7205233, 7205224}, {7205223, 7205214}, {7205213, 7205204}, {7205203, 7205194}, {7205193, 7205184}, {7205183, 7205174}, {7205173, 7205164}, {7205163, 7205154}, {7205153, 7205144}, {7205143, 7205134}, {7205133, 7205124}, {7205123, 7205114}, {7205113, 7205104}, {7205103, 7205094}, {7205093, 7205084}, {7205083, 7205074}, {7205073, 7205064}, {7205063, 7205054}, {7205053, 7205044}, {7205043, 7205034}, {7205033, 7205024}, {7205023, 7205014}, {7205013, 7205004}, {7205003, 7204994}, {7204993, ...}, {...}, ...]}, size: 721035}, current: nil, step: -10}
However, when I configure the ENV variables described below:
ETHEREUM_JSONRPC_VARIANT=geth ETHEREUM_JSONRPC_HTTP_URL=http://xx.xx.xx.xx:8545 ETHEREUM_JSONRPC_WS_URL=ws://xx.xx.xx.xx:8546 make start
Blockscout starts correctly and it show blocks.
Is it necessary other configuration? What’s it wrong?
Thanks in advance