use frame_support::sp_runtime::{MultiSignature, CryptoTypeId};
use frame_support::sp_runtime::app_crypto::{Public, Pair, sr25519, ed25519, Ss58Codec, CryptoTypePublicPair};
use frame_support::sp_runtime::traits::{Verify, IdentifyAccount};
use frame_support::pallet_prelude::Encode;
use sp_core::hexdisplay::HexDisplay;
use sp_runtime::AccountId32;
獲取 ed25519 也就是GRANDPA的公鑰信息
獲取公鑰
// 首先拿到 account_id 的Vec<u8>數(shù)組
let account_id = ed25519::Pair::from_string("助記詞...", None)
.expect("Seed error of ed25519.").public().to_vec();
// 實(shí)際上公鑰就是通過這個(gè)數(shù)組的數(shù)據(jù)轉(zhuǎn)成16進(jìn)制而成的沧卢。
let account_id = sp_core::hexdisplay::HexDisplay::from(&account_id);
println!("用戶公鑰 = {:?}", &account_id);