问题描述
我正在尝试使用“ 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 (将#修改为@)