PublicKey
ナトリウム酸化物(libsodiumの錆びたバインディング)の構造体をファイル(JSONなど)にシリアル化しようとしましたが、バイナリも大丈夫です。JSONに酸化ナトリウムの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
私はあなたにそれをさせるでしょ:) –