Доступ к идентификатору цепи и происхождению ha sh из среды выполнения Substrate во время выполнения extrinsi c - PullRequest
0 голосов
/ 13 марта 2020

Я использую последнюю стабильную версию субстрата pre-v2.0-3e65111 Я хотел получить доступ к идентификатору цепи или генезису ха sh из среды выполнения субстрата во время обработки extrinsi c (я принимаю подписанные полезные нагрузки и пытаюсь убедиться, что они были целевыми к правой цепи). Возможно ли получить к ним доступ? (Я знаю, что могу сделать это с помощью polkadot- js). Я вижу черту CheckGenesis, но не понимаю, как я могу использовать ее для получения ха sh? (new приводит к пустому вектору).

1 Ответ

2 голосов
/ 13 марта 2020

Вы можете найти реализацию для CheckGenesis здесь: https://github.com/paritytech/substrate/blob/master/frame/system/src/lib.rs#L1417

impl<T: Trait + Send + Sync> SignedExtension for CheckGenesis<T> {
    type AccountId = T::AccountId;
    type Call = <T as Trait>::Call;
    type AdditionalSigned = T::Hash;
    type DispatchInfo = DispatchInfo;
    type Pre = ();
    const IDENTIFIER: &'static str = "CheckGenesis";

    fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {
        Ok(<Module<T>>::block_hash(T::BlockNumber::zero()))
    }
}

Отсюда вы должны увидеть, что можете получить доступ к генезису ha sh позвонив:

frame_system::Module::<T>::block_hash(T::BlockNumber::zero());

Дайте мне знать, если это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...