Troubleshooting
If the client cannot connect to Boost running on a Storage provider, with an error similar to the following:
failed to connect to peer <peer id>: failed to dial <peer id>:
* <multi-address> failed to negotiate security protocol:
peer id mismatch: expected <peer id>,
but remote key matches <different peer id>
The problem is that:
- The SP registered their peer id and address on chain.
eg "Register the peer id
123abcd
at address ip4/123.456.12.345/tcp/1234
"lotus-miner actor set-peer-id 123abcd
lotus-miner actor set-addrs ip4/123.456.12.345/tcp/1234
- The SP changed their peer id locally but didn't update the peer id on chain.
- The client wants to make a storage deal with peer
123abcd
. The client looks on chain for the address of peer123abcd
and sees peer123abcd
has registered an addressip4/123.456.12.345/tcp/1234
. - The client sends a deal proposal for peer
123abcd
to the SP at addressip4/123.456.12.345/tcp/1234
. - The SP has changed their peer ID, so the SP responds to the deal proposal request with an error:
peer id mismatch
To fix the problem, the SP should register the new peer id on chain:
lotus-miner actor set-peer-id <new peer id>
Clients would not be able to connect to Boost running on a Storage provider after an IP change. This happens as clients lookup the registered peer id and address on chain for a SP. When a SP changes their IP or address locally, they must update the same on chain.
The SP should register the new peer id on chain using the following lotus-miner command
lotus-miner actor set-addrs /ip4/<YOUR_PUBLIC_IP_ADDRESS_OF_BOOST_NODE>/tcp/<Boostd Port>
Please make sure to use the public IP and port of the Boost node and not
lotus-miner
node if your miner and boostd
runs on a separate machine.The on chain address change requires access to the worker key and thus the command lives in
lotus-miner
instead of Boost. After migrating to Boost, following error is seen when running
lotus-miner info
:ERROR: fatal error calling 'Filecoin.MarketListIncompleteDeals': panic in rpc method 'Filecoin.MarketListIncompleteDeals': runtime error: invalid memory address or nil pointer dereference
lotus-miner
is making a call on lotus-market
process which has been replaced by Boost, but lotus-miner
is not aware of the new market process.Export the MARKETS_API_INFO variable on your lotus-miner node.
export MARKETS_API_INFO=<Boost token:api>
Last modified 2mo ago