-
Notifications
You must be signed in to change notification settings - Fork 23
Feat: Android support #158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,4 @@ | ||
| /target | ||
| Cargo.lock | ||
| coverage_report | ||
| result |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |
| ## [Unreleased] | ||
|
|
||
| ### Added | ||
| - Added Nix package outputs for Android with bundled NDK r24, Rust toolchains, Boost, and cmake. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should this be r27? Judging by line 93 of flake.nix.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No, i had the same doubt, If you check on flake.nix, youll see that we dont use // API level 24+ is required because Bitcoin Core uses getifaddrs
// which was introduced in Android API 24 (Nougat).
//
// This can be overridden to a higher level by setting ANDROID_API_LEVEL.
let api_level = match env::var("ANDROID_API_LEVEL") {
Ok(level) => {
let n: u32 = level.parse().expect("ANDROID_API_LEVEL must be a number");
assert!(n >= 24, "ANDROID_API_LEVEL must be 24+");
level
}
_ => "24".to_string(),
};It appears that the API version is not the same number as the RELEASE version, the Ill add a comment clarifying that to avoid future confusion |
||
| - Added `Block::check` to perform context-free validation of a block (size, weight, coinbase, transactions, sigops), with optional proof-of-work and merkle-root checks toggled via the `BLOCK_CHECK_BASE` / `_POW` / `_MERKLE` / `_ALL` flags. Returns a `BlockCheckResult` enum carrying the validation state on failure. | ||
| - Implemented `Debug` for `BlockValidationResult`, `BlockValidationStateRef`, `ProcessBlockHeaderresult` and `BlockCheckResult`, enabling inspection via `{:?}` in logs and test output. | ||
| - Added `#[must_use]` to `BlockCheckResult` and `ProcessBlockHeaderResult` to warn when validation results are silently ignored. | ||
|
|
@@ -36,7 +37,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |
| - Added `From<BlockHeader>` and `From<&BlockHeader>` for `[u8; 80]` to align with existing block conversions. | ||
|
|
||
| ### Dependencies | ||
|
|
||
| - The sys crate no longer uses auto-generated bindings from bindgen. This removes some build-time dependencies for this crate. | ||
|
|
||
| ## [0.2.0] 2026-01-26 | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.