NEAR 是否需要 Serialize 和 BorshSerialize?

Myk*_*sen 6 serialization rust nearprotocol

用 Rust 编写 NEAR 智能合约,我的编译器似乎要求通过 API 发送的对象具有该Serialize特征,并且存储在区块链中的对象具有BorshSerializeBorshDeserialize。真的是这样吗,还是我做错了什么?我本以为这BorshSerialize会提供Serialize,并且您可以使用一个库来实现这两个目的。

ber*_*guy 4

我本以为 BorshSerialize 会提供 Serialize

事实并非如此。是BorshBorshSerialize特有的,而来自serde,两者都不暗示对方。之所以需要返回类型,是因为我们希望将其序列化为json,以便于前端处理。SerializeSerialize

  • 需要澄清的是,Borsh 之所以不实现 serde Serialize,是因为这会影响其性能并显着增加代码大小,从而影响编译后的合约的大小。 (2认同)