这里就涉及到两个 crate:borsh 和 serde。这两个 crate 分别提供了不同的序列化/反序列化 trait(注意它们是不通用的,所以需要分别 derive),在你的 struct 上 derive 这些 trait,就为你的 struct 提供了这两个 crate 各自的序列化/反序列化默认实现,为后续使用提供方便。BorshDeserialize 和 BorshSerialize 提供 borsh 的序列化和反序列化功能;而 Deserialize 和 Serialize 提供 serde 的序列化和反序列化功能。
这里就涉及到两个 crate:borsh 和 serde。
这两个 crate 分别提供了不同的序列化/反序列化 trait(注意它们是不通用的,所以需要分别 derive),在你的 struct 上 derive 这些 trait,就为你的 struct 提供了这两个 crate 各自的序列化/反序列化默认实现,为后续使用提供方便。
BorshDeserialize
和BorshSerialize
提供borsh
的序列化和反序列化功能;而Deserialize
和Serialize
提供serde
的序列化和反序列化功能。