4 releases

0.1.16-alpha.0 Mar 31, 2023
0.1.13-alpha.0 Mar 17, 2023
0.1.12-alpha.0 Jan 18, 2023
0.1.10-alpha.0 Jan 17, 2023

#19 in #median

Download history 192/week @ 2023-12-13 231/week @ 2023-12-20 92/week @ 2023-12-27 116/week @ 2024-01-03 159/week @ 2024-01-10 200/week @ 2024-01-17 68/week @ 2024-01-24 63/week @ 2024-01-31 99/week @ 2024-02-07 172/week @ 2024-02-14 123/week @ 2024-02-21 173/week @ 2024-02-28 132/week @ 2024-03-06 130/week @ 2024-03-13 247/week @ 2024-03-20 274/week @ 2024-03-27

823 downloads per month
Used in 87 crates (12 directly)

MIT license

270KB
734 lines

bitcoin-time

The bitcoin-time crate is a direct translation of the Bitcoin codebase from C++ to Rust, providing a suite of time-related tools and utilities for the Bitcoin system. This crate includes functions for converting time between various formats (chrono_sanity_check, of, format_iso8601date, format_iso8601date_time, parse_iso8601date_time, etc.), as well as functions for measuring and manipulating time (count_microseconds, count_milliseconds, count_seconds, count_seconds_double, set_mock_time, uninterruptible_sleep, etc.).

While there may not be any specific mathematical equations or concepts involved in the bitcoin-time crate, the correct handling and manipulation of time is essential to the proper functioning of the Bitcoin system. This crate is currently in the process of translation, and it's possible that some function bodies are still being translated.

This crate also includes various helpers and filters (MedianFilter, median, sorted, get_adjusted_datetime, etc.) to assist with accurate and precise time manipulation. Additionally, there are functions for retrieving and setting system time (get_time, get_time_micros_since_epoch, get_time_millis_since_epoch, get_time_seconds_since_epoch, get_time_since_epoch, etc.), as well as functions for retrieving the maximum Unix timestamp (max_unix_timestamp) and the time offset (get_time_offset).

Dependencies

~87MB
~802K SLoC