使用substrate_api_client时出错

问题描述

我正在尝试使用“ substrate_api_client”向我的dev节点发送tansaction并收到错误消息:-

thread 'main' panicked at 'calledResult::unwrap()on anErr value: OddLength'

不知道怎么了 以供参考:- 在节点上:

decl_storage! {
    trait Store for Module<T: Trait> as TemplateModule {
        /// The storage item for our proofs.
        /// It maps a proof to the user who made the claim and when they made it.
        Proofs: map hasher(blake2_128_concat) Vec<u8> => (T::AccountId,T::BlockNumber);
    }
}

fn create_claim(origin,proof: Vec<u8>) {
            let sender = ensure_signed(origin)?;
            ensure!(!Proofs::<T>::contains_key(&proof),Error::<T>::ProofAlreadyClaimed);
            let current_block = <frame_system::Module<T>>::block_number();
            Proofs::<T>::insert(&proof,(&sender,current_block));
            Self::deposit_event(RawEvent::ClaimCreated(sender,proof));
        }

和Light Client端代码:-

let url = "127.0.0.1:9944";
    let from = AccountKeyring::Alice.pair();
    let mut api = Api::new(format!("ws://{}",url)).set_signer(from);
    let x = api.clone();
    let demo_string : String = String::from("Hello");
    let demo = demo_string.as_bytes();
    let a = blake2_128(&demo);
    let xt: UncheckedExtrinsicV4<_> = compose_extrinsic!( api.clone(),"TemplateModule","create_claim",a);
    println!("[+] Composed Extrinsic:\n {:?}\n",xt);
    let tx_hash = api
        .send_extrinsic(xt.hex_encode(),XtStatus::Finalized)
        .unwrap();
    println!("[+] Transaction got finalized. Hash: {:?}",tx_hash);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)