Questions tagged [client]
The client tag has no usage guidance.
18
questions
2
votes
2
answers
48
views
Is it possible to turn a Frontier node into an Ethereum client?
Suppose I start with a Frontier-based template node and want it to sync with a Geth full node, as if it was an Ethereum execution client.
What are the minimal set of changes necessary to make this ...
3
votes
1
answer
25
views
How to avoid double work when building with srtool
I'm integrating srtool into my CI build. As a result of the build, I aim to obtain the client and the runtime. I can compile the runtime with srtool action and run cargo build to get the client. But ...
7
votes
0
answers
75
views
Why do clients have to hardcode the extra types in the registry?
Context: I'm experimenting with an H160-address based substrate and I'm doing it from scratch (it's not a moon* or frontier template fork).
It's reasonably trivial to make changes to the substrate ...
2
votes
0
answers
31
views
Steps to handle renaming runtime api + upgrade
I'm considering a large refactor in our substrate codebase which would involve moving large chunks of code around. This includes a runtime api. In it's destined place, the runtime api's name(both its ...
2
votes
1
answer
42
views
What is happening between `Is collating: yes` and ` Local node identity is:...` or why is it taking so long time to restart syncing of a crashed node?
I'm trying to sync a parachain node from scratch with a client upgraded to polkadot0.9.37
I have experienced crashes and restarts after a few hours and with every subsequent restart it seems to take ...
1
vote
1
answer
35
views
When should an RPC be unsafe?
When making a new RPC/runtime-api endpoint, what criteria should you have in mind regarding making it safe/unsafe?
For example, assume that a UI wants to fetch a large amount of data (a lot of keys in ...
3
votes
0
answers
81
views
Error importing blocks after upgrading to v0.9.32
After upgrading the node to v0.9.32 I started seeing this error message:
2022-11-11 14:03:44 💔 Error importing block 0x2062a73f1dee2fd35ad6ac25c641b08bf94cf6390b9fc7a8480d7b8ea9412eab: consensus ...
1
vote
1
answer
620
views
How i implement Debug for trait object [closed]
I find out 1 piece of code in substrate
pub struct IsValidator(Box<dyn Fn() -> bool + Send + Sync>);
How can I implement Debug for IsValidator Struct
5
votes
2
answers
93
views
Runtime api not available just after client creation? Exported method is not found
I am trying to incorporate benchmark overhead command to our parachain. The issue i have is that runtime api methods are not available right away after client is created.
https://github.com/mangata-...
3
votes
0
answers
52
views
Ways to mock client + custom runtime api from client side
I have some code in a Substrate client that needs to call one of my runtime apis. I'd like an easy way to mock the client and custom runtime api functions to check that they're called.
Is there an ...
3
votes
1
answer
163
views
RPC node encounter `Cannot create a runtime error=Other(\"runtime requires function imports which are not present on the host:` after upgrade
I got a problem with upgrading my chain
I've upgraded my chain from version A (Client+runtime) to version B (Client+runtime). I remove some host functions in client version B because runtime version B ...
8
votes
3
answers
185
views
Node startup message missing after upgrade to Polkadot v0.9.23
After upgrading to Polkadot v0.9.23 from v0.9.16, I am missing the default "start up" message (WS/RPC connections, hardware, para-id etc, see below) when initiating the node client, both for ...
5
votes
1
answer
265
views
What is unique about Substrate's transaction pool?
Every blockchain has different implementations of a transaction pool, which does the job of checking transaction validity before transactions are included by block authors. In Substrate it is possible ...
12
votes
0
answers
183
views
How to receive P2P messages using sc-network-gossip
Overview
I'm interested to understand how to use sc-network-gossip's GossipEngine to receive P2P messages, not just gossip messages. The motivation is that I would like to send specific peers specific ...
1
vote
1
answer
37
views
Client testing - simulate construct_runtime! and to include specific pallet into test runtime
I have client which works in parallel with custom pallet through Api implementation. To do proper testing I have to implement pallet for runtime similarly how construct_runtime! does to be able to ...
0
votes
1
answer
46
views
Client testing - Runtime trait implementation approach
When writing tests for client module I'm having troubles instantiating gadget for the client with the error:
the trait module_primitives::ModuleApi<sp_runtime::generic::Block<sp_runtime::...
4
votes
1
answer
120
views
How do `subxt` and `substrate-api-client` libraries differ?
I understand that there are two main Rust client libraries for Substrate:
subxt
substrate-api-client
I've checked out the examples for both libraries and it seems to me that they are mostly the same....
10
votes
1
answer
81
views
How to properly split logic between block verifier and block import?
I found it a bit confusing that part of the logic for block verification is in sc_consensus::import_queue::Verifier::verify() implementation and another part is in sc_consensus::block_import::...