mirror of
https://github.com/bitcoinj/bitcoinj.git
synced 2024-11-19 01:40:26 +01:00
modular-architecture.md: Update for secp256k1-jdk
This just updates the proposed 0.19 release to use `secp256k1-jdk` instead of a more generically defined crypto provider API. We may want to consider doing this in the 0.18 release or moving some ECKey definitions into `o.b.base` but this change does not address either of those proposals.
This commit is contained in:
parent
1b4eafb7d6
commit
72f5e03902
@ -96,7 +96,7 @@ class G,S,A,BC,P external;
|
|||||||
|
|
||||||
In a proposed 0.19 release, we hope to do the following:
|
In a proposed 0.19 release, we hope to do the following:
|
||||||
|
|
||||||
1. enhance `bitcoin-crypto` to contain a "provider" API so that core crypto functions that it needs can be provided by either Bouncy Castle _or_ `libsecp256k1`. We also hope to completely eliminate dependencies on Guava for all modules.
|
1. Update `bitcoin-crypto` to use the `secp256k1-jdk` API so that core crypto functions that it needs can be provided by either Bouncy Castle _or_ `libsecp256k1`.
|
||||||
2. Separate the current ProtoBuf-based wallet implementation into it's own module. This will require creating a `Wallet` interface in core.
|
2. Separate the current ProtoBuf-based wallet implementation into it's own module. This will require creating a `Wallet` interface in core.
|
||||||
3. Eliminate dependencies on Guava for all modules.
|
3. Eliminate dependencies on Guava for all modules.
|
||||||
|
|
||||||
@ -124,13 +124,14 @@ flowchart TD
|
|||||||
CORE --> CRYPTO
|
CORE --> CRYPTO
|
||||||
CORE .-> S[slf4j]
|
CORE .-> S[slf4j]
|
||||||
subgraph CRYPTO [bitcoinj-crypto]
|
subgraph CRYPTO [bitcoinj-crypto]
|
||||||
CR[o.b.crypto] --> CRPR[o.b.crypto.provider]
|
CR[o.b.crypto]
|
||||||
end
|
end
|
||||||
CRYPTO --> BASE
|
CRYPTO --> BASE
|
||||||
CRPR .-> CRIMPL
|
CRYPTO --> SECP256K1
|
||||||
CRIMPL((impl))
|
SECP256K1[secp256k1-jdk] .-> SECPFFM[secp256k1-foreign]
|
||||||
CRIMPL .-> BC[Bouncy Castle]
|
SECP256K1[secp256k1-jdk] .-> SECPBOUNCY[secp256k1-bouncy]
|
||||||
CRIMPL .-> LP[libsecp256k1]
|
SECPBOUNCY .-> BC[Bouncy Castle]
|
||||||
|
SECPFFM .-> LP['C' libsecp256k1]
|
||||||
subgraph BASE [bitcoinj-base]
|
subgraph BASE [bitcoinj-base]
|
||||||
B[o.b.base]
|
B[o.b.base]
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user