#rust #substrate #polkadot
Вопрос:
Во время построения блока из внешних данных в block-builder мне нужно получить доступ к отдельным внешним данным, а именно к идентификатору подписывающего лица и nonce. Я предполагаю, что эти данные являются частью SignaturePayload
Extrinsic
признака, но не могу найти способ их получить.
pub fn build(mut self) -> Result<BuiltBlock<Block, backend::StateBackendFor<B, Block>>, Error> {
let extrinsics = self.extrinsics.clone();
extrinsics.into_iter().for_each(|xt| {
// Here I'm trying to get the data from the extrinsic, something like:
// let nonce = xt.nonce;
// let account_id = xt.account_id;
}
// The rest of the build function logic
}
Как я могу получить идентификатор учетной записи подписавшего и его номер здесь?
Комментарии:
1. Я могу продолжить расследование и протестировать, но я бы подумал, что
ensure_signed!
макрос, как он используется в палете балансов , должен соответствовать этому варианту использования.2. Могу ли я использовать
ensure_signed
вне среды выполнения? Если да, то я не понимаю, как его использовать, чтобы получить nonce