Comments (10)
Secp256k1
is a struct with a string for the purpose of the point and the coordinates taken from secp256k1 library. Default Serde will not work here and therefore we implemented Deserialize / Serialize ourselves: https://github.com/KZen-networks/curv/blob/master/src/elliptic/curves/secp256_k1.rs#L534
please use this instead.
from curv.
Why can't I use bincode's serialize_struct
?
https://github.com/servo/bincode/blob/master/src/ser/mod.rs#L190
from curv.
I don't know :(
from curv.
That's what this is intended to solve. However, testing it is painful at the moment because of how your crates use Git tags for versioning rather than having an actual crate registry (which would allow use of semver).
from curv.
Can you elaborate more on that point?
Are you saying that uploading the libraries to crates.io would have make more sense in some sense ?
from curv.
Yes, uploading them to crates.io would definitely make things easier. However, I suppose at least in the case of curv and rust-paillier there are already crates on there. Maybe @mortendahl @mcornejo @kali would allow you to publish to crates.io/crates/paillier? curv is currently squatted on crates.io so it might have to be renamed somehow.
from curv.
I am not religious about naming. The only issue that stops us from uploading everything is Curv dependency on a specific commit of Zcash library to support the curve Jubjub. All the other libraries are dependent on Curv so they are stuck as well.
from curv.
We uploaded https://crates.io/crates/emerald-city/0.2.0 just because we removed the Zcash dependency
from curv.
Having to depend on a particular commit is in itself a bit suspicious (same with the rust-gmp fork). Would be nice to work with the zcash folks to see if some of their crates could get onto crates.io in a version that you can consume.
As it is, if you make a curv change you'll also have to immediately retag rust-paillier and zk-paillier again to prevent duplicates in downstream dependency graphs, so that sucks a bit. Maybe a custom registry could be a decent option? Either with https://blog.mgattozzi.dev/turning-github-into-your-own-registry/ or using Cloudsmith.
from curv.
Maybe @mortendahl @mcornejo @kali would allow you to publish to crates.io/crates/paillier?
If you guys are still using rust-paillier then I'll make it a priority to get any existing and new PRs merged and published.
from curv.
Related Issues (20)
- Update `hmac` dependency HOT 1
- Suboptimal serialization of certain structs HOT 4
- Feature request: serialization in v0.7 HOT 1
- suggested additions to Polynomial HOT 2
- Zero Polynomial degree is returning 0
- Implement Zeroize for `Point<E>`
- ed25519::GE fails in serialization and deserialization HOT 10
- Serialization doesn't work with bincode
- Build error: could not find `traits` in `super` HOT 4
- Update crate to latest revision of source code. HOT 1
- generate pk should know the curve
- Bump p256 to 0.11.1 HOT 3
- Incorrect documentation for `check_point_order_equals_group_order` HOT 2
- Updating `curv` dependency in `kzen-paillier`
- Choices between G1Point and Point<Bls12_381_1> in v0.10.0
- Add support for RustCrypto's crypto-bigint HOT 3
- Why use a point as generator instead of a number in feldman vss?
- Deserialization fails for `Secp256k1Scalar`
- Is pairing still considered experimental?
- Build failing on rust 1.73.0
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from curv.