如何使用oo7 Substrate库定义自定义类型?

时间:2019-05-08 22:56:18

标签: blockchain substrate

我正在使用Substrate Bonds库(oo7)为我的自定义Substrate Runtime Module生成自定义UI。

要在Substrate UI中支持我的自定义模块,我需要定义一个自定义类型。我该怎么办?

1 个答案:

答案 0 :(得分:0)

oo7 Substrate库公开了addCodecTransform()函数,该函数使您能够定义可在UI中使用的自定义类型。

例如,给定模块中定义的这种结构:

#[derive(Encode, Decode, Default, Clone, PartialEq)]
#[cfg_attr(feature = "std", derive(Debug))]
pub struct Kitty<Hash, Balance> {
    id: Hash,
    dna: Hash,
    price: Balance,
    gen: u64,
}

您可以进行以下JavaScript调用:

addCodecTransform('Kitty<Hash,Balance>', { 
    id: 'Hash',
    dna: 'Hash',
    price: 'Balance',
    gen: 'u64'
});

如果在您的应用程序constructor()函数中添加此代码,则可以确保在依赖的React函数需要它之前将其调用。