如何解决使用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 举报,一经查实,本站将立刻删除。