33 releases (stable)

5.0.0 Aug 5, 2022
4.1.0 Aug 4, 2022
4.0.1 Mar 18, 2022
3.1.0 Aug 26, 2021
0.0.1 Dec 5, 2015

#195 in Data structures

Download history 2480/week @ 2024-06-12 1963/week @ 2024-06-19 1397/week @ 2024-06-26 1863/week @ 2024-07-03 2084/week @ 2024-07-10 2757/week @ 2024-07-17 2388/week @ 2024-07-24 2181/week @ 2024-07-31 1466/week @ 2024-08-07 1885/week @ 2024-08-14 1420/week @ 2024-08-21 1917/week @ 2024-08-28 2136/week @ 2024-09-04 2096/week @ 2024-09-11 2377/week @ 2024-09-18 2661/week @ 2024-09-25

9,684 downloads per month
Used in 39 crates (28 directly)

MIT OR BSD-3-Clause

48KB
1K SLoC

xor_name

XorName is an array that is useful for calculations in DHT

MaidSafe website SAFE Network Forum

Serialization

XorName and Prefix are serialized into a human-readable hex string, instead of as a u8 array. This is enabled by default, with the serialize-hex feature. This also allows for these structures to be serialised when used as a key in a map like HashMap, because most formats only allow keys to be strings, instead of more complex types.

A struct like this:

#[derive(Serialize, Deserialize)]
struct MyStruct {
    prefix: Prefix,
    xor_name: XorName,
}

Will yield this JSON

{
  "prefix": "10001101110001111100101000111001101101111101111010011001",
  "xor_name": "8dc7ca39b7de990eb943fd64854776dd85aa82c33a4269693c57b36e0749ed8f"
}

instead of

{
    "prefix": {
        "bit_count": 56,
        "name": [141,199,202,57,183,222,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
    },
    "xor_name": [141,199,202,57,183,222,153,14,185,67,253,100,133,71,118,221,133,170,130,195,58,66,105,105,60,87,179,110,7,73,237,143]
}

License

This SAFE Network library is dual-licensed under the Modified BSD (LICENSE-BSD https://opensource.org/licenses/BSD-3-Clause) or the MIT license (LICENSE-MIT https://opensource.org/licenses/MIT) at your option.

Contributing

Want to contribute? Great 🎉

There are many ways to give back to the project, whether it be writing new code, fixing bugs, or just reporting errors. All forms of contributions are encouraged!

For instructions on how to contribute, see our Guide to contributing.

Dependencies

~1.5–2.5MB
~46K SLoC