Substrate中generic-asset模块分析

2019-11-25  本文已影响0人  建怀

Substrate中generic-asset模块分析

generic asset为相关账号和资产余额提供处理方法。

这个generic asset模块提供方法:

术语

继承实现

generic asset模块提供AssetCurrency,其实现了如下的traits,如果你开发时功能跟如下的实现重合,可以直接用这些实现,可以避免重合。

generic asset模块提供了两个AssetCurrency的类型

可调度的方法

公开的方法

初始化设定

pub TotalIssuance get(fn total_issuance) build(|config: &GenesisConfig<T>| {
    let issuance = config.initial_balance * (config.endowed_accounts.len() as u32).into();
    config.assets.iter().map(|id| (id.clone(), issuance)).collect::<Vec<_>>()
}): map T::AssetId => T::Balance;

add_extra_genesis {
    config(assets): Vec<T::AssetId>;
    config(initial_balance): T::Balance;
    config(endowed_accounts): Vec<T::AccountId>;

    build(|config: &GenesisConfig<T>| {
        config.assets.iter().for_each(|asset_id| {
            config.endowed_accounts.iter().for_each(|account_id| {
                <FreeBalance<T>>::insert(asset_id, account_id, &config.initial_balance);
            });
        });
    });
}
上一篇 下一篇

猜你喜欢

热点阅读