diff --git a/.gitignore b/.gitignore
index 819d7eaf..f6135466 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
-target
+core/target
.project
.classpath
.settings
@@ -8,4 +8,4 @@ target
*.spvchain
*.wallet
/nbproject/private/
-/build/
\ No newline at end of file
+/build/
diff --git a/core/pom.xml b/core/pom.xml
new file mode 100644
index 00000000..09bf4c25
--- /dev/null
+++ b/core/pom.xml
@@ -0,0 +1,102 @@
+
+
+ 4.0.0
+ org.libdohj
+ libdohj-core
+ 0.14-SNAPSHOT
+ jar
+
+
+
+ The Apache Software License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+ repo
+
+
+
+
+
+
+ The libdohj team.
+ info@dogecoin.com
+
+
+
+
+ update-protobuf
+
+
+ updateProtobuf
+ true
+
+
+
+
+
+ maven-antrun-plugin
+
+
+ compile-protoc
+ generate-sources
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+
+
+
+
+
+
+
+ org.slf4j
+ slf4j-api
+ 1.7.7
+
+
+ junit
+ junit
+ 4.12
+ test
+ jar
+
+
+ com.google.protobuf
+ protobuf-java
+ 2.5.0
+
+
+ com.lambdaworks
+ scrypt
+ 1.4.0
+
+
+ org.bitcoinj
+ bitcoinj-core
+ 0.14.2
+
+
+
+ UTF-8
+ 1.6
+ 1.6
+
+ libdohj
+
diff --git a/src/main/java/com/dogecoin/dogecoinj/protocols/payments/PaymentProtocol.java b/core/src/main/java/com/dogecoin/dogecoinj/protocols/payments/PaymentProtocol.java
similarity index 100%
rename from src/main/java/com/dogecoin/dogecoinj/protocols/payments/PaymentProtocol.java
rename to core/src/main/java/com/dogecoin/dogecoinj/protocols/payments/PaymentProtocol.java
diff --git a/src/main/java/com/dogecoin/dogecoinj/protocols/payments/PaymentProtocolException.java b/core/src/main/java/com/dogecoin/dogecoinj/protocols/payments/PaymentProtocolException.java
similarity index 100%
rename from src/main/java/com/dogecoin/dogecoinj/protocols/payments/PaymentProtocolException.java
rename to core/src/main/java/com/dogecoin/dogecoinj/protocols/payments/PaymentProtocolException.java
diff --git a/src/main/java/com/dogecoin/dogecoinj/protocols/payments/PaymentSession.java b/core/src/main/java/com/dogecoin/dogecoinj/protocols/payments/PaymentSession.java
similarity index 100%
rename from src/main/java/com/dogecoin/dogecoinj/protocols/payments/PaymentSession.java
rename to core/src/main/java/com/dogecoin/dogecoinj/protocols/payments/PaymentSession.java
diff --git a/src/main/java/com/dogecoin/dogecoinj/protocols/payments/package-info.java b/core/src/main/java/com/dogecoin/dogecoinj/protocols/payments/package-info.java
similarity index 100%
rename from src/main/java/com/dogecoin/dogecoinj/protocols/payments/package-info.java
rename to core/src/main/java/com/dogecoin/dogecoinj/protocols/payments/package-info.java
diff --git a/src/main/java/com/dogecoin/protocols/payments/Protos.java b/core/src/main/java/com/dogecoin/protocols/payments/Protos.java
similarity index 100%
rename from src/main/java/com/dogecoin/protocols/payments/Protos.java
rename to core/src/main/java/com/dogecoin/protocols/payments/Protos.java
diff --git a/src/main/java/org/bitcoinj/core/AltcoinBlock.java b/core/src/main/java/org/bitcoinj/core/AltcoinBlock.java
similarity index 100%
rename from src/main/java/org/bitcoinj/core/AltcoinBlock.java
rename to core/src/main/java/org/bitcoinj/core/AltcoinBlock.java
diff --git a/src/main/java/org/bitcoinj/core/AuxPoW.java b/core/src/main/java/org/bitcoinj/core/AuxPoW.java
similarity index 100%
rename from src/main/java/org/bitcoinj/core/AuxPoW.java
rename to core/src/main/java/org/bitcoinj/core/AuxPoW.java
diff --git a/src/main/java/org/bitcoinj/core/MerkleBranch.java b/core/src/main/java/org/bitcoinj/core/MerkleBranch.java
similarity index 100%
rename from src/main/java/org/bitcoinj/core/MerkleBranch.java
rename to core/src/main/java/org/bitcoinj/core/MerkleBranch.java
diff --git a/src/main/java/org/libdohj/core/AltcoinNetworkParameters.java b/core/src/main/java/org/libdohj/core/AltcoinNetworkParameters.java
similarity index 100%
rename from src/main/java/org/libdohj/core/AltcoinNetworkParameters.java
rename to core/src/main/java/org/libdohj/core/AltcoinNetworkParameters.java
diff --git a/src/main/java/org/libdohj/core/AltcoinSerializer.java b/core/src/main/java/org/libdohj/core/AltcoinSerializer.java
similarity index 100%
rename from src/main/java/org/libdohj/core/AltcoinSerializer.java
rename to core/src/main/java/org/libdohj/core/AltcoinSerializer.java
diff --git a/src/main/java/org/libdohj/core/AuxPoWNetworkParameters.java b/core/src/main/java/org/libdohj/core/AuxPoWNetworkParameters.java
similarity index 100%
rename from src/main/java/org/libdohj/core/AuxPoWNetworkParameters.java
rename to core/src/main/java/org/libdohj/core/AuxPoWNetworkParameters.java
diff --git a/src/main/java/org/libdohj/core/ScryptHash.java b/core/src/main/java/org/libdohj/core/ScryptHash.java
similarity index 100%
rename from src/main/java/org/libdohj/core/ScryptHash.java
rename to core/src/main/java/org/libdohj/core/ScryptHash.java
diff --git a/src/main/java/org/libdohj/core/Utils.java b/core/src/main/java/org/libdohj/core/Utils.java
similarity index 100%
rename from src/main/java/org/libdohj/core/Utils.java
rename to core/src/main/java/org/libdohj/core/Utils.java
diff --git a/src/main/java/org/libdohj/params/AbstractDogecoinParams.java b/core/src/main/java/org/libdohj/params/AbstractDogecoinParams.java
similarity index 100%
rename from src/main/java/org/libdohj/params/AbstractDogecoinParams.java
rename to core/src/main/java/org/libdohj/params/AbstractDogecoinParams.java
diff --git a/src/main/java/org/libdohj/params/AbstractLitecoinParams.java b/core/src/main/java/org/libdohj/params/AbstractLitecoinParams.java
similarity index 100%
rename from src/main/java/org/libdohj/params/AbstractLitecoinParams.java
rename to core/src/main/java/org/libdohj/params/AbstractLitecoinParams.java
diff --git a/src/main/java/org/libdohj/params/DogecoinMainNetParams.java b/core/src/main/java/org/libdohj/params/DogecoinMainNetParams.java
similarity index 100%
rename from src/main/java/org/libdohj/params/DogecoinMainNetParams.java
rename to core/src/main/java/org/libdohj/params/DogecoinMainNetParams.java
diff --git a/src/main/java/org/libdohj/params/DogecoinTestNet3Params.java b/core/src/main/java/org/libdohj/params/DogecoinTestNet3Params.java
similarity index 100%
rename from src/main/java/org/libdohj/params/DogecoinTestNet3Params.java
rename to core/src/main/java/org/libdohj/params/DogecoinTestNet3Params.java
diff --git a/src/main/java/org/libdohj/params/LitecoinMainNetParams.java b/core/src/main/java/org/libdohj/params/LitecoinMainNetParams.java
similarity index 100%
rename from src/main/java/org/libdohj/params/LitecoinMainNetParams.java
rename to core/src/main/java/org/libdohj/params/LitecoinMainNetParams.java
diff --git a/src/main/java/org/libdohj/params/LitecoinTestNet3Params.java b/core/src/main/java/org/libdohj/params/LitecoinTestNet3Params.java
similarity index 100%
rename from src/main/java/org/libdohj/params/LitecoinTestNet3Params.java
rename to core/src/main/java/org/libdohj/params/LitecoinTestNet3Params.java
diff --git a/src/main/java/org/libdohj/params/package-info.java b/core/src/main/java/org/libdohj/params/package-info.java
similarity index 100%
rename from src/main/java/org/libdohj/params/package-info.java
rename to core/src/main/java/org/libdohj/params/package-info.java
diff --git a/src/main/resources/org.dogecoin.production.checkpoints b/core/src/main/resources/org.dogecoin.production.checkpoints
similarity index 100%
rename from src/main/resources/org.dogecoin.production.checkpoints
rename to core/src/main/resources/org.dogecoin.production.checkpoints
diff --git a/src/main/resources/org.dogecoin.test.checkpoints b/core/src/main/resources/org.dogecoin.test.checkpoints
similarity index 100%
rename from src/main/resources/org.dogecoin.test.checkpoints
rename to core/src/main/resources/org.dogecoin.test.checkpoints
diff --git a/src/main/resources/org.litecoin.production.checkpoints b/core/src/main/resources/org.litecoin.production.checkpoints
similarity index 100%
rename from src/main/resources/org.litecoin.production.checkpoints
rename to core/src/main/resources/org.litecoin.production.checkpoints
diff --git a/src/paymentrequest.proto b/core/src/paymentrequest.proto
similarity index 100%
rename from src/paymentrequest.proto
rename to core/src/paymentrequest.proto
diff --git a/src/test/java/org/bitcoinj/core/AltcoinBlockTest.java b/core/src/test/java/org/bitcoinj/core/AltcoinBlockTest.java
similarity index 100%
rename from src/test/java/org/bitcoinj/core/AltcoinBlockTest.java
rename to core/src/test/java/org/bitcoinj/core/AltcoinBlockTest.java
diff --git a/src/test/java/org/bitcoinj/core/AuxPoWTest.java b/core/src/test/java/org/bitcoinj/core/AuxPoWTest.java
similarity index 100%
rename from src/test/java/org/bitcoinj/core/AuxPoWTest.java
rename to core/src/test/java/org/bitcoinj/core/AuxPoWTest.java
diff --git a/src/test/java/org/bitcoinj/core/DogecoinBlockTest.java b/core/src/test/java/org/bitcoinj/core/DogecoinBlockTest.java
similarity index 100%
rename from src/test/java/org/bitcoinj/core/DogecoinBlockTest.java
rename to core/src/test/java/org/bitcoinj/core/DogecoinBlockTest.java
diff --git a/src/test/java/org/bitcoinj/core/LitecoinBlockTest.java b/core/src/test/java/org/bitcoinj/core/LitecoinBlockTest.java
similarity index 100%
rename from src/test/java/org/bitcoinj/core/LitecoinBlockTest.java
rename to core/src/test/java/org/bitcoinj/core/LitecoinBlockTest.java
diff --git a/src/test/java/org/bitcoinj/core/MerkleBranchTest.java b/core/src/test/java/org/bitcoinj/core/MerkleBranchTest.java
similarity index 100%
rename from src/test/java/org/bitcoinj/core/MerkleBranchTest.java
rename to core/src/test/java/org/bitcoinj/core/MerkleBranchTest.java
diff --git a/src/test/java/org/bitcoinj/core/Util.java b/core/src/test/java/org/bitcoinj/core/Util.java
similarity index 100%
rename from src/test/java/org/bitcoinj/core/Util.java
rename to core/src/test/java/org/bitcoinj/core/Util.java
diff --git a/src/test/java/org/libdohj/params/AbstractDogecoinParamsTest.java b/core/src/test/java/org/libdohj/params/AbstractDogecoinParamsTest.java
similarity index 100%
rename from src/test/java/org/libdohj/params/AbstractDogecoinParamsTest.java
rename to core/src/test/java/org/libdohj/params/AbstractDogecoinParamsTest.java
diff --git a/src/test/java/org/libdohj/params/AbstractLitecoinParamsTest.java b/core/src/test/java/org/libdohj/params/AbstractLitecoinParamsTest.java
similarity index 100%
rename from src/test/java/org/libdohj/params/AbstractLitecoinParamsTest.java
rename to core/src/test/java/org/libdohj/params/AbstractLitecoinParamsTest.java
diff --git a/src/test/java/org/libdohj/params/LitecoinTestNet3ParamsTest.java b/core/src/test/java/org/libdohj/params/LitecoinTestNet3ParamsTest.java
similarity index 100%
rename from src/test/java/org/libdohj/params/LitecoinTestNet3ParamsTest.java
rename to core/src/test/java/org/libdohj/params/LitecoinTestNet3ParamsTest.java
diff --git a/src/test/resources/org/bitcoinj/core/auxpow_header.bin b/core/src/test/resources/org/bitcoinj/core/auxpow_header.bin
similarity index 100%
rename from src/test/resources/org/bitcoinj/core/auxpow_header.bin
rename to core/src/test/resources/org/bitcoinj/core/auxpow_header.bin
diff --git a/src/test/resources/org/bitcoinj/core/auxpow_header_no_tx_header.bin b/core/src/test/resources/org/bitcoinj/core/auxpow_header_no_tx_header.bin
similarity index 100%
rename from src/test/resources/org/bitcoinj/core/auxpow_header_no_tx_header.bin
rename to core/src/test/resources/org/bitcoinj/core/auxpow_header_no_tx_header.bin
diff --git a/src/test/resources/org/bitcoinj/core/auxpow_merkle_branch.bin b/core/src/test/resources/org/bitcoinj/core/auxpow_merkle_branch.bin
similarity index 100%
rename from src/test/resources/org/bitcoinj/core/auxpow_merkle_branch.bin
rename to core/src/test/resources/org/bitcoinj/core/auxpow_merkle_branch.bin
diff --git a/src/test/resources/org/bitcoinj/core/auxpow_merkle_branch2.bin b/core/src/test/resources/org/bitcoinj/core/auxpow_merkle_branch2.bin
similarity index 100%
rename from src/test/resources/org/bitcoinj/core/auxpow_merkle_branch2.bin
rename to core/src/test/resources/org/bitcoinj/core/auxpow_merkle_branch2.bin
diff --git a/src/test/resources/org/bitcoinj/core/dogecoin_block1.bin b/core/src/test/resources/org/bitcoinj/core/dogecoin_block1.bin
similarity index 100%
rename from src/test/resources/org/bitcoinj/core/dogecoin_block1.bin
rename to core/src/test/resources/org/bitcoinj/core/dogecoin_block1.bin
diff --git a/src/test/resources/org/bitcoinj/core/dogecoin_block250000.bin b/core/src/test/resources/org/bitcoinj/core/dogecoin_block250000.bin
similarity index 100%
rename from src/test/resources/org/bitcoinj/core/dogecoin_block250000.bin
rename to core/src/test/resources/org/bitcoinj/core/dogecoin_block250000.bin
diff --git a/src/test/resources/org/bitcoinj/core/dogecoin_block371337.bin b/core/src/test/resources/org/bitcoinj/core/dogecoin_block371337.bin
similarity index 100%
rename from src/test/resources/org/bitcoinj/core/dogecoin_block371337.bin
rename to core/src/test/resources/org/bitcoinj/core/dogecoin_block371337.bin
diff --git a/src/test/resources/org/bitcoinj/core/dogecoin_block748634.bin b/core/src/test/resources/org/bitcoinj/core/dogecoin_block748634.bin
similarity index 100%
rename from src/test/resources/org/bitcoinj/core/dogecoin_block748634.bin
rename to core/src/test/resources/org/bitcoinj/core/dogecoin_block748634.bin
diff --git a/src/test/resources/org/bitcoinj/core/dogecoin_block894863.bin b/core/src/test/resources/org/bitcoinj/core/dogecoin_block894863.bin
similarity index 100%
rename from src/test/resources/org/bitcoinj/core/dogecoin_block894863.bin
rename to core/src/test/resources/org/bitcoinj/core/dogecoin_block894863.bin
diff --git a/src/test/resources/org/bitcoinj/core/litecoin_block1.bin b/core/src/test/resources/org/bitcoinj/core/litecoin_block1.bin
similarity index 100%
rename from src/test/resources/org/bitcoinj/core/litecoin_block1.bin
rename to core/src/test/resources/org/bitcoinj/core/litecoin_block1.bin
diff --git a/src/test/resources/org/libdohj/params/dogecoin_block239.bin b/core/src/test/resources/org/libdohj/params/dogecoin_block239.bin
similarity index 100%
rename from src/test/resources/org/libdohj/params/dogecoin_block239.bin
rename to core/src/test/resources/org/libdohj/params/dogecoin_block239.bin
diff --git a/src/test/resources/org/libdohj/params/dogecoin_block479.bin b/core/src/test/resources/org/libdohj/params/dogecoin_block479.bin
similarity index 100%
rename from src/test/resources/org/libdohj/params/dogecoin_block479.bin
rename to core/src/test/resources/org/libdohj/params/dogecoin_block479.bin
diff --git a/src/test/resources/org/libdohj/params/dogecoin_block480.bin b/core/src/test/resources/org/libdohj/params/dogecoin_block480.bin
similarity index 100%
rename from src/test/resources/org/libdohj/params/dogecoin_block480.bin
rename to core/src/test/resources/org/libdohj/params/dogecoin_block480.bin
diff --git a/src/test/resources/org/libdohj/params/dogecoin_block719.bin b/core/src/test/resources/org/libdohj/params/dogecoin_block719.bin
similarity index 100%
rename from src/test/resources/org/libdohj/params/dogecoin_block719.bin
rename to core/src/test/resources/org/libdohj/params/dogecoin_block719.bin
diff --git a/src/test/resources/org/libdohj/params/dogecoin_block720.bin b/core/src/test/resources/org/libdohj/params/dogecoin_block720.bin
similarity index 100%
rename from src/test/resources/org/libdohj/params/dogecoin_block720.bin
rename to core/src/test/resources/org/libdohj/params/dogecoin_block720.bin
diff --git a/pom.xml b/pom.xml
index b2f57467..a86912e0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,59 +2,232 @@
4.0.0
org.libdohj
- libdohj
+ libdohj-parent
0.14-SNAPSHOT
- jar
+ pom
+
+
+ core
+
+
+
+ org.sonatype.oss
+ oss-parent
+ 7
+
+
+
+ scm:git:https://github.com/dogecoin/libdohj
+ scm:git:https://github.com/dogecoin/libdohj
+ scm:git:https://github.com/dogecoin/libdohj
+
+
+ libdohj Parent
+ Provides the common configuration for the libdohj modules
+ https://libdohj.org/
- The Apache Software License, Version 2.0
- http://www.apache.org/licenses/LICENSE-2.0.txt
+ Apache 2
+ http://www.apache.org/licenses/LICENSE-2.0
repo
+ A business-friendly OSS license
-
-
-
- The libdohj team.
- info@dogecoin.com
-
-
+
+ Github
+ https://github.com/dogecoin/libdohj/issues
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 1.8
+ 1.8
+ true
+ true
+
+
+
+
+ maven-jar-plugin
+
+
+ false
+
+
+
+
+
+ maven-javadoc-plugin
+
+ true
+
+
+
+
+ org.sonatype.plugins
+ nexus-staging-maven-plugin
+ 1.6.5
+ true
+
+ ossrh
+ https://oss.sonatype.org/
+ false
+
+
+
+
+
+
+ maven-clean-plugin
+ 2.6.1
+
+
+ maven-compiler-plugin
+ 3.2
+
+
+ maven-dependency-plugin
+ 2.10
+
+
+ maven-deploy-plugin
+ 2.8.2
+
+
+ maven-enforcer-plugin
+ 1.4
+
+
+ maven-install-plugin
+ 2.5.2
+
+
+ maven-jar-plugin
+ 2.6
+
+
+ maven-javadoc-plugin
+ 2.10.2
+
+
+ maven-resources-plugin
+ 2.7
+
+
+ maven-shade-plugin
+ 2.3
+
+
+ maven-source-plugin
+ 2.4
+
+
+ org.codehaus.mojo
+ cobertura-maven-plugin
+ 2.7
+
+
+ maven-surefire-plugin
+ 2.19.1
+
+
+
+
+
+
+
+ org.slf4j
+ slf4j-api
+ 1.7.7
+
+
+
+ org.slf4j
+ slf4j-jdk14
+ 1.7.7
+ runtime
+ true
+
+
+
+
+ 3.0.4
+
+
+
+ UTF-8
+ gen
+
+
- update-protobuf
+ doclint-java8-disable
-
- updateProtobuf
- true
-
+ [1.8,)
- maven-antrun-plugin
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+
+ -Xdoclint:none
+
+
+
+
+
+
+
+ release
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
- compile-protoc
- generate-sources
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ attach-sources
+ verify
- run
+ jar-no-fork
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+
+
+ attach-javadocs
+
+ jar
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ 1.5
+
+
+ sign-artifacts
+ verify
+
+ sign
@@ -64,39 +237,4 @@
-
-
- org.slf4j
- slf4j-api
- 1.7.7
-
-
- junit
- junit
- 4.12
- test
- jar
-
-
- com.google.protobuf
- protobuf-java
- 2.5.0
-
-
- com.lambdaworks
- scrypt
- 1.4.0
-
-
- org.bitcoinj
- bitcoinj-core
- 0.14.2
-
-
-
- UTF-8
- 1.6
- 1.6
-
- libdohj