PublicKey
sodiumoxide (libsodium의 녹청 바인딩) 구조체 (예 : JSON,하지만 바이너리도 괜찮음)를 직렬화하려고합니다.JSON에 NaOH의 PublicKey를 직렬화
여기 내 코드입니다 :
extern crate serde;
extern crate serde_json;
extern crate sodiumoxide;
use serde::Serialize;
use serde_json::ser::Serializer;
use sodiumoxide::crypto::sign;
fn main() {
let (pk, _) = sign::gen_keypair();
let pk_ser = serde_json::to_string(&pk);
}
나는 다음과 같은 오류 메시지가 얻을 :
error: the trait bound `sodiumoxide::crypto::sign::PublicKey: serde::Serialize` is not satisfied [E0277]
그래서 컴파일러가 PublicKey
가 serde :: 특성을 직렬화를 구현해야 하더군요을. 그러나 여기에 명시된대로 serde::Serialize
을 구현합니다. https://dnaq.github.io/sodiumoxide/sodiumoxide/crypto/sign/ed25519/struct.PublicKey.html
그래서 문제가 무엇입니까?
편집 :
Cargo.toml :
는[package]
name = ...
version = ...
authors = ...
[dependencies]
serde = "*"
serde_json = "*"
sodiumoxide = "*"
정말 알아야합니다. 나는 대부분의 초보자가 crates.io만을 사용한다고 가정합니다. GitHub에 문제를 쓰는 데 관심이 있습니까? 그렇지 않다면, 나는 할 것이다 :-) – duesee
나는 그렇게하도록 할 것이다. :) –