Questions tagged [offchain]
The offchain tag has no usage guidance.
23
questions
1
vote
0
answers
12
views
offchain worker choose key to sign and send
I have multiple keys in my node storage with offchain worker running, there are currently 2 ways to sign and send transactions, it is done either for all of the keys stored locally, or 1 unspecified ...
1
vote
1
answer
40
views
How to use Offchain Workers to create HTTP POST requests with JSON-RPC body?
Too my knowledge there are no guides on how to write HTTP POST requests to a JSON-RPC API with http utilities that are available to Substrate offchain workers. What I understand currently is that the ...
3
votes
0
answers
70
views
sending an http request in unit tests?
I'm trying to arrange some unit tests for a local http server connectivity my node communicates with.
While the node has no troubles while sending requests, I face difficulties trying to build basic ...
2
votes
0
answers
16
views
Offchain Storage lock vs compare-set/mutate function
While using offchain workers when do we want to use a StorageLock and when would we want to use a mutate function on StorageValueRef since both of them are kind of lock on db.
2
votes
1
answer
58
views
AccountId in offchain worker
I'm working on Substrate based project. In the project, each blockchain validator has an offchain worker. author_insertKey() is used to set up a key so the offchain worker can sign transactions. Each ...
2
votes
1
answer
39
views
can't use BTreeMap with custom key struct for offchain Local Storage
I'm trying to use sp_std::collections::btree_map::BTreeMap for offchain worker Local Storage.
While
let foo = StorageValueRef::persistent(b"bar::foo");
foo.get::<BTreeMap<u32, u32>&...
4
votes
2
answers
158
views
Read a value from offchain storage of a node
I want to read a single value from OffchainStorage of a live substrate node. Is it possible? Assume I can not use localStorageGet rpc request because it is an unsafe rpc.
7
votes
2
answers
158
views
How to mint offchain NFT in pallet_nfts
I want to try out offchain minting feature in pallet_nfts.
This extrinsic nfts.mintPreSigned(mintData, signature, signer) should be used to claim the NFT as a final step. Before that, mintData ...
0
votes
1
answer
44
views
How to enable off-chain workers for parachain via command line?
There is no any logs and off-chain workers does not work by default.
How to specify to enable workers for parachain via command?
0
votes
0
answers
66
views
offchain indexing for large files
I'm new to the project and currently working on a pallet, which is supposed to deal with large files offchain. Pallet, offchain indexing and the offchain worker are all working fine, still I get "...
2
votes
1
answer
108
views
Working up-to-date complete source code for offchain workers?
Hello Substrate community
I've been trying to integrate an offchain worker capable of API calls on top of an existing Substrate cluster of 3 nodes I already have up and running successfully (based on ...
3
votes
1
answer
85
views
What is the best way to add additional libp2p protocols to Substrate client?
We want to reuse the clients libp2p instance for receiving threshold signature shares directly from our users, for key resharing/rotation as validators join/leave the active validator set, ...
3
votes
3
answers
134
views
What is KeyTypeId, and how to use it?
When I made use of an offchain signed extrinsic to send a transaction to a chain, I copied a snippet from others, which is like this:
use sp_core::crypto::KeyTypeId;
pub const KEY_TYPE: KeyTypeId = ...
2
votes
0
answers
93
views
Using a substrate crate for a standard rust project
I just discovered substrate. I would like to use, as a dependency a substrate crate which uses sp_io and sp_runtime offchain feature.
The naive code I wrote fails because of "Externalities" ...
2
votes
1
answer
77
views
How to generate key pair in pallet or on offchain work
I received a task which is generating key pair in pallet on chain logic. I know that I should import sp_core crate. I import it like this: "use sp_core::Pair;" This line was written at the ...
4
votes
2
answers
78
views
Offchain workers in parachain
On a parachain (Substrate polkadot-v0.9.20 branch), I am trying to trigger some offchain tasks using an offchain worker in my pallet, but the task is not triggered. I checked that the on_finalize hook ...
14
votes
0
answers
78
views
Outbound network traffic linearly growing with offchain protocol and recommendations for handling traffic growth
Issue
We are experiencing a behaviour on our standalone/parachain node where the Network Bps on our cloud provider linearly increases throughout the lifecycle of our protocol. The increase continues ...
9
votes
1
answer
57
views
Is there any way to get all the key/value pairs together from sc_client_db::offchain::LocalStorage?
I can see we have the option to get the values by using their keys one by one using get(), but is there any way to get all the pairs together wrapped in an iterator so that we don't need to hit the ...
6
votes
2
answers
117
views
How to parse/match a specific frame_system event?
From the following function I can read the frame_system events:
let events = frame_system::Pallet::<T>::read_events_no_consensus();
the above provides me the following example array:
...
6
votes
1
answer
137
views
How to extract data from Offchain storage in client-side?
I'm trying to access data that I'm storing through the RPC off-chain endpoint.
Is there any way to get the instance of off-chain storage in service.rs through which we can extract that has been ...
2
votes
1
answer
65
views
Off-chain DB indexing example
Where can I find Tomasz Drwięga Off-chain DB indexing example, implementing the following runtime function?
fn on_finalize(_n: BlockNumberFor<T>){}
TIA
5
votes
2
answers
115
views
How to avoid multiple OCWs duplicating work?
We are running 2 OCWs each in separate instances and we have an extrinsic which mutates a storage in runtime which is done twice from the 2 OCWs but we want only one OCW to sign. How to do that?
For ...
12
votes
2
answers
574
views
How to verify a signature in a Pallet?
I have a Pallet that should verify a signature for some input data and a specific public key.
It looks like this:
fn verify(_: OriginFor<T>, data: Vec<u8>, sig: ???, from: ???)
Is this ...