问题描述
#[pallet::storage]
#[pallet::getter(fn get_paper_document)]
pub(super) type PaperDocument<T: Config> = StorageMap<
_,Blake2_128Concat,(T::AccountId,Vec<u8>),(T::Moment,Vec<u8>,T::BlockNumber),ValueQuery
>;
#[pallet::error]
pub enum Error<T> {
PaperExists,}
#[pallet::weight(0)]
pub fn insert_paper_document(
origin: OriginFor<T>,paper_document: Vec<u8>,paper_hex: Vec<u8>,paper_hash: Vec<u8>,) -> dispatchResultWithPostInfo {
let origin_account = ensure_signed(origin);
let p = origin_account.unwrap();
let block_number = <frame_system::Module<T>>::block_number();
let time = <pallet_timestamp::Module<T>>::get();
let acc = Self::get_paper_document((p.clone(),paper_hash.clone()));
ensure!(!PaperDocument::<T>::contains_key(
&(p.clone(),paper_hash.clone())
),Error::<T>::PaperExists);
// DO NOT PANIC!
let paper_str = match str::from_utf8(&*paper_document) {
| Ok(v) => v,| Err(e) => "",};
PaperDocument::<T>::insert(
(p.clone(),paper_hash.clone()),(time,paper_document,block_number)
);
Ok(().into())
}
#[pallet::hooks]
impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {
fn offchain_worker(block_number: T::BlockNumber) {
log::info!("Hello World from offchain workers!");
log::info!("{:?}",block_number);
}
}
我需要访问发送的数据
对 insert_paper_document
的 RPC 调用
来自链下工作人员,对其进行处理,然后
将其保存到 onchain
存储中。
有什么例子可以做
这与基板托盘 v2?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)