From 3a70c0fe4c686accb9cd1bcee98f2b18b9e5e81e Mon Sep 17 00:00:00 2001 From: koh-gt Date: Fri, 27 Sep 2024 06:02:59 +0800 Subject: [PATCH] ferritej v1.0.0-0.14 bitcoinj v0.14 fork --- README.md | 15 +- core/dependency-reduced-pom.xml | 325 + core/pom.xml | 18 + .../java/org/bitcoinj/core/AlertMessage.java | 1 + .../main/java/org/bitcoinj/core/Block.java | 5 +- .../org/bitcoinj/core/NetworkParameters.java | 14 +- .../java/org/bitcoinj/core/PeerGroup.java | 5 +- .../bitcoinj/net/discovery/HttpDiscovery.java | 1 + .../net/discovery/MultiplexingDiscovery.java | 2 +- .../params/AbstractBitcoinNetParams.java | 89 +- .../org/bitcoinj/params/MainNetParams.java | 31 +- .../org/bitcoinj/params/TestNet2Params.java | 2 +- .../org/bitcoinj/params/TestNet3Params.java | 8 +- .../org.bitcoin.production.checkpoints.txt | 200 - .../org.bitcoin.test.checkpoints.txt | 342 - .../AbstractFullPrunedBlockChainTest.java | 405 - .../java/org/bitcoinj/core/AddressTest.java | 255 - .../org/bitcoinj/core/AlertMessageTest.java | 59 - .../java/org/bitcoinj/core/Base58Test.java | 91 - .../bitcoinj/core/BitcoinSerializerTest.java | 238 - .../bitcoinj/core/BitcoindComparisonTool.java | 365 - .../org/bitcoinj/core/BlockChainTest.java | 482 - .../java/org/bitcoinj/core/BlockTest.java | 289 - .../org/bitcoinj/core/BloomFilterTest.java | 93 - .../org/bitcoinj/core/ChainSplitTest.java | 689 - .../test/java/org/bitcoinj/core/CoinTest.java | 146 - .../bitcoinj/core/DumpedPrivateKeyTest.java | 72 - .../java/org/bitcoinj/core/ECKeyTest.java | 462 - ...ilteredBlockAndPartialMerkleTreeTests.java | 205 - .../bitcoinj/core/FullBlockTestGenerator.java | 1883 -- .../core/H2FullPrunedBlockChainTest.java | 53 - .../core/LevelDBFullPrunedBlockChainTest.java | 57 - .../core/MemoryFullPrunedBlockChainTest.java | 37 - .../java/org/bitcoinj/core/MessageTest.java | 64 - .../core/MySQLFullPrunedBlockChainTest.java | 52 - .../org/bitcoinj/core/ParseByteCacheTest.java | 459 - .../org/bitcoinj/core/PeerAddressTest.java | 46 - .../java/org/bitcoinj/core/PeerGroupTest.java | 867 - .../test/java/org/bitcoinj/core/PeerTest.java | 973 - .../PostgresFullPrunedBlockChainTest.java | 72 - .../core/TransactionBroadcastTest.java | 258 - .../bitcoinj/core/TransactionOutputTest.java | 88 - .../org/bitcoinj/core/TransactionTest.java | 407 - .../bitcoinj/core/TxConfidenceTableTest.java | 102 - .../java/org/bitcoinj/core/UtilsTest.java | 64 - .../java/org/bitcoinj/core/VarIntTest.java | 81 - .../org/bitcoinj/core/VersionMessageTest.java | 54 - .../core/VersionedChecksummedBytesTest.java | 61 - .../java/org/bitcoinj/crypto/BIP32Test.java | 184 - .../bitcoinj/crypto/BIP38PrivateKeyTest.java | 186 - .../crypto/ChildKeyDerivationTest.java | 292 - .../java/org/bitcoinj/crypto/HDUtilsTest.java | 184 - .../bitcoinj/crypto/KeyCrypterScryptTest.java | 161 - .../org/bitcoinj/crypto/MnemonicCodeTest.java | 218 - .../org/bitcoinj/crypto/X509UtilsTest.java | 40 - .../bitcoinj/net/NetworkAbstractionTests.java | 662 - .../bitcoinj/net/discovery/SeedPeersTest.java | 52 - .../channels/ChannelConnectionTest.java | 904 - .../protocols/channels/ChannelTestUtils.java | 178 - .../channels/PaymentChannelClientTest.java | 110 - .../channels/PaymentChannelServerTest.java | 177 - .../channels/PaymentChannelStateTest.java | 1010 - .../payments/PaymentProtocolTest.java | 154 - .../payments/PaymentSessionTest.java | 224 - .../org/bitcoinj/script/ScriptChunkTest.java | 49 - .../java/org/bitcoinj/script/ScriptTest.java | 494 - .../bitcoinj/store/LevelDBBlockStoreTest.java | 61 - .../org/bitcoinj/store/SPVBlockStoreTest.java | 61 - .../store/WalletProtobufSerializerTest.java | 444 - .../org/bitcoinj/testing/FakeTxBuilder.java | 319 - .../bitcoinj/testing/FooWalletExtension.java | 54 - .../testing/InboundMessageQueuer.java | 62 - .../testing/KeyChainTransactionSigner.java | 51 - .../testing/MockTransactionBroadcaster.java | 121 - .../testing/NopTransactionSigner.java | 52 - .../testing/TestWithNetworkConnections.java | 245 - .../bitcoinj/testing/TestWithPeerGroup.java | 161 - .../org/bitcoinj/testing/TestWithWallet.java | 110 - .../org/bitcoinj/testing/package-info.java | 6 - .../java/org/bitcoinj/uri/BitcoinURITest.java | 412 - .../utils/BaseTaggableObjectTest.java | 43 - .../org/bitcoinj/utils/BtcFormatTest.java | 1477 -- .../org/bitcoinj/utils/ExchangeRateTest.java | 82 - .../utils/ExponentialBackoffTest.java | 79 - .../java/org/bitcoinj/utils/FiatTest.java | 59 - .../bitcoinj/utils/MonetaryFormatTest.java | 343 - .../org/bitcoinj/utils/VersionTallyTest.java | 113 - .../bitcoinj/wallet/BasicKeyChainTest.java | 282 - .../wallet/DefaultCoinSelectorTest.java | 128 - .../wallet/DefaultRiskAnalysisTest.java | 234 - .../wallet/DeterministicKeyChainTest.java | 408 - .../bitcoinj/wallet/KeyChainGroupTest.java | 628 - .../bitcoinj/wallet/WalletExtensionsTest.java | 42 - .../java/org/bitcoinj/wallet/WalletTest.java | 3504 --- core/test.lock.db | 4 + pom.xml | 19 +- tools/checkpoints22.txt | 20075 ++++++++++++++++ tools/dependency-reduced-pom.xml | 64 + tools/pom.xml | 2 +- .../org/bitcoinj/tools/BuildCheckpoints.java | 4 +- wallettemplate/dependency-reduced-pom.xml | 48 + wallettemplate/pom.xml | 69 +- 102 files changed, 20722 insertions(+), 25010 deletions(-) create mode 100644 core/dependency-reduced-pom.xml delete mode 100644 core/src/main/resources/org.bitcoin.production.checkpoints.txt delete mode 100644 core/src/main/resources/org.bitcoin.test.checkpoints.txt delete mode 100644 core/src/test/java/org/bitcoinj/core/AbstractFullPrunedBlockChainTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/AddressTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/AlertMessageTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/Base58Test.java delete mode 100644 core/src/test/java/org/bitcoinj/core/BitcoinSerializerTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/BitcoindComparisonTool.java delete mode 100644 core/src/test/java/org/bitcoinj/core/BlockChainTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/BlockTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/BloomFilterTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/ChainSplitTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/CoinTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/DumpedPrivateKeyTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/ECKeyTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/FilteredBlockAndPartialMerkleTreeTests.java delete mode 100644 core/src/test/java/org/bitcoinj/core/FullBlockTestGenerator.java delete mode 100644 core/src/test/java/org/bitcoinj/core/H2FullPrunedBlockChainTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/LevelDBFullPrunedBlockChainTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/MemoryFullPrunedBlockChainTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/MessageTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/MySQLFullPrunedBlockChainTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/ParseByteCacheTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/PeerAddressTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/PeerGroupTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/PeerTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/PostgresFullPrunedBlockChainTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/TransactionBroadcastTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/TransactionOutputTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/TransactionTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/TxConfidenceTableTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/UtilsTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/VarIntTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/VersionMessageTest.java delete mode 100644 core/src/test/java/org/bitcoinj/core/VersionedChecksummedBytesTest.java delete mode 100644 core/src/test/java/org/bitcoinj/crypto/BIP32Test.java delete mode 100644 core/src/test/java/org/bitcoinj/crypto/BIP38PrivateKeyTest.java delete mode 100644 core/src/test/java/org/bitcoinj/crypto/ChildKeyDerivationTest.java delete mode 100644 core/src/test/java/org/bitcoinj/crypto/HDUtilsTest.java delete mode 100644 core/src/test/java/org/bitcoinj/crypto/KeyCrypterScryptTest.java delete mode 100644 core/src/test/java/org/bitcoinj/crypto/MnemonicCodeTest.java delete mode 100644 core/src/test/java/org/bitcoinj/crypto/X509UtilsTest.java delete mode 100644 core/src/test/java/org/bitcoinj/net/NetworkAbstractionTests.java delete mode 100644 core/src/test/java/org/bitcoinj/net/discovery/SeedPeersTest.java delete mode 100644 core/src/test/java/org/bitcoinj/protocols/channels/ChannelConnectionTest.java delete mode 100644 core/src/test/java/org/bitcoinj/protocols/channels/ChannelTestUtils.java delete mode 100644 core/src/test/java/org/bitcoinj/protocols/channels/PaymentChannelClientTest.java delete mode 100644 core/src/test/java/org/bitcoinj/protocols/channels/PaymentChannelServerTest.java delete mode 100644 core/src/test/java/org/bitcoinj/protocols/channels/PaymentChannelStateTest.java delete mode 100644 core/src/test/java/org/bitcoinj/protocols/payments/PaymentProtocolTest.java delete mode 100644 core/src/test/java/org/bitcoinj/protocols/payments/PaymentSessionTest.java delete mode 100644 core/src/test/java/org/bitcoinj/script/ScriptChunkTest.java delete mode 100644 core/src/test/java/org/bitcoinj/script/ScriptTest.java delete mode 100644 core/src/test/java/org/bitcoinj/store/LevelDBBlockStoreTest.java delete mode 100644 core/src/test/java/org/bitcoinj/store/SPVBlockStoreTest.java delete mode 100644 core/src/test/java/org/bitcoinj/store/WalletProtobufSerializerTest.java delete mode 100644 core/src/test/java/org/bitcoinj/testing/FakeTxBuilder.java delete mode 100644 core/src/test/java/org/bitcoinj/testing/FooWalletExtension.java delete mode 100644 core/src/test/java/org/bitcoinj/testing/InboundMessageQueuer.java delete mode 100644 core/src/test/java/org/bitcoinj/testing/KeyChainTransactionSigner.java delete mode 100644 core/src/test/java/org/bitcoinj/testing/MockTransactionBroadcaster.java delete mode 100644 core/src/test/java/org/bitcoinj/testing/NopTransactionSigner.java delete mode 100644 core/src/test/java/org/bitcoinj/testing/TestWithNetworkConnections.java delete mode 100644 core/src/test/java/org/bitcoinj/testing/TestWithPeerGroup.java delete mode 100644 core/src/test/java/org/bitcoinj/testing/TestWithWallet.java delete mode 100644 core/src/test/java/org/bitcoinj/testing/package-info.java delete mode 100644 core/src/test/java/org/bitcoinj/uri/BitcoinURITest.java delete mode 100644 core/src/test/java/org/bitcoinj/utils/BaseTaggableObjectTest.java delete mode 100644 core/src/test/java/org/bitcoinj/utils/BtcFormatTest.java delete mode 100644 core/src/test/java/org/bitcoinj/utils/ExchangeRateTest.java delete mode 100644 core/src/test/java/org/bitcoinj/utils/ExponentialBackoffTest.java delete mode 100644 core/src/test/java/org/bitcoinj/utils/FiatTest.java delete mode 100644 core/src/test/java/org/bitcoinj/utils/MonetaryFormatTest.java delete mode 100644 core/src/test/java/org/bitcoinj/utils/VersionTallyTest.java delete mode 100644 core/src/test/java/org/bitcoinj/wallet/BasicKeyChainTest.java delete mode 100644 core/src/test/java/org/bitcoinj/wallet/DefaultCoinSelectorTest.java delete mode 100644 core/src/test/java/org/bitcoinj/wallet/DefaultRiskAnalysisTest.java delete mode 100644 core/src/test/java/org/bitcoinj/wallet/DeterministicKeyChainTest.java delete mode 100644 core/src/test/java/org/bitcoinj/wallet/KeyChainGroupTest.java delete mode 100644 core/src/test/java/org/bitcoinj/wallet/WalletExtensionsTest.java delete mode 100644 core/src/test/java/org/bitcoinj/wallet/WalletTest.java create mode 100644 core/test.lock.db create mode 100644 tools/checkpoints22.txt create mode 100644 tools/dependency-reduced-pom.xml create mode 100644 wallettemplate/dependency-reduced-pom.xml diff --git a/README.md b/README.md index 62b91cb..61496e5 100644 --- a/README.md +++ b/README.md @@ -24,17 +24,20 @@ sudo apt-get install openjdk-11-jdk sudo apt-get update sudo apt-get install openjdk-11-doc +# switch versions +sudo update-alternatives --config java +Java 8 for compiling the wallet jar +Java 11 for the checkpoints +cd tools +chmod +x ./build-checkpoints +./build-checkpoints --peer 127.0.0.1 --days=1 + + # JAVA_HOME variable echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64' >> ~/.bashrc source ~/.bashrc ``` -#### Known build issues -Shading -``` -rm -rf ferritej/core/src/test/java/org -``` - #### Building from the command line diff --git a/core/dependency-reduced-pom.xml b/core/dependency-reduced-pom.xml new file mode 100644 index 0000000..e922d61 --- /dev/null +++ b/core/dependency-reduced-pom.xml @@ -0,0 +1,325 @@ + + + + ferritej-parent + org.ferritej + 1.0.0 + + 4.0.0 + ferritej-core + ferritej + A Java Ferrite library + https://bitcoinj.github.io + + + The bitcoinj team + bitcoinj@googlegroups.com + + + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + + maven-compiler-plugin + + 1.6 + 1.6 + + + + maven-source-plugin + + + attach-sources + verify + + jar-no-fork + + + + + + maven-javadoc-plugin + + + attach-javadocs + + jar + + + + + + + http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/ + + + true + + + + maven-enforcer-plugin + + + enforce + verify + + enforce + + + + + + true + + cglib:cglib-nodep:2.2:jar:null:test:59afed7ab65e7ec6585d5bc60556c3cbd203532b + com.fasterxml.jackson.core:jackson-annotations:2.5.0:jar:null:test:a2a55a3375bc1cef830ca426d68d2ea22961190e + com.fasterxml.jackson.core:jackson-core:2.5.1:jar:null:test:e2a00ad1d7e540ec395e9296a34da484c8888d4d + com.fasterxml.jackson.core:jackson-databind:2.5.2:jar:null:test:2b4dd13fbe6f8c6b146d4c3b7fd70862f136802d + com.google.code.findbugs:jsr305:2.0.1:jar:null:compile:516c03b21d50a644d538de0f0369c620989cd8f0 + com.google.guava:guava:18.0:jar:null:compile:cce0823396aa693798f8882e64213b1772032b09 + com.google.protobuf:protobuf-java:2.6.1:jar:null:compile:d9521f2aecb909835746b7a5facf612af5e890e8 + com.h2database:h2:1.3.167:jar:null:compile:d3867d586f087e53eb12fc65e5693d8ee9a5da17 + com.lambdaworks:scrypt:1.4.0:jar:null:compile:906506b74f30c8c20bccd9ed4a11112d8941fe87 + com.madgag.spongycastle:core:1.51.0.0:jar:null:compile:0f642963312ea0e615ad65f28adc5a5b3a2a0862 + junit:junit:4.12:jar:null:test:2973d150c0dc1fefe998f834810d68f278ea58ec + mysql:mysql-connector-java:5.1.33:jar:null:compile:8af455a9a3267e6664cafc87ace71a4e4ef02837 + net.jcip:jcip-annotations:1.0:jar:null:compile:afba4942caaeaf46aab0b976afd57cc7c181467e + org.apache.maven.plugins:maven-clean-plugin:2.6.1:maven-plugin:null:runtime:bfdf7d6c2f8fc8759457e9d54f458ba56ac7b30f + org.apache.maven.plugins:maven-compiler-plugin:3.2:maven-plugin:null:runtime:aec10f274ac07fafab8906cb1aa69669d753b2c2 + org.apache.maven.plugins:maven-deploy-plugin:2.8.2:maven-plugin:null:runtime:3c2d83ecd387e9843142ae92a0439792c1500319 + org.apache.maven.plugins:maven-enforcer-plugin:1.0:maven-plugin:null:runtime:ad032b7593576e9fe9305c73865633e163895b29 + org.apache.maven.plugins:maven-install-plugin:2.5.2:maven-plugin:null:runtime:8a67631619fc3c1d1f036e59362ddce71e1e496f + org.apache.maven.plugins:maven-jar-plugin:2.6:maven-plugin:null:runtime:618f08d0fcdd3929af846ef1b65503b5904f93e3 + org.apache.maven.plugins:maven-javadoc-plugin:2.10.2:maven-plugin:null:runtime:5f391697fa85cecc7e5bac7ce5a6f9d056a58ba3 + org.apache.maven.plugins:maven-resources-plugin:2.7:maven-plugin:null:runtime:94af11389943a480ecec7db01b4ded1b9cdf57c5 + org.apache.maven.plugins:maven-shade-plugin:2.3:maven-plugin:null:runtime:d136adc7abccc9c12adcad6ae7a9bc51b2b7184b + org.apache.maven.plugins:maven-site-plugin:3.4:maven-plugin:null:runtime:659cd5f1dd8bff554cf52603339494cbf7f283c5 + org.apache.maven.plugins:maven-source-plugin:2.4:maven-plugin:null:runtime:46f0d7f7823d729ba300d3f8929900c7e9cb5ac0 + org.apache.maven.plugins:maven-surefire-plugin:2.19.1:maven-plugin:null:runtime:e2ee016ce9183ffa9e86c543690cadda7b3aea15 + org.easymock:easymock:3.2:jar:null:test:00c82f7fa3ef377d8954b1db25123944b5af2ba4 + org.eluder.coveralls:coveralls-maven-plugin:3.1.0:maven-plugin:null:runtime:ca9d2915e2b1e99f15c9f54ad653eda893d42a69 + org.fusesource.leveldbjni:leveldbjni-all:1.8:jar:null:compile:707350a2eeb1fa2ed77a32ddb3893ed308e941db + org.hamcrest:hamcrest-core:1.3:jar:null:test:42a25dc3219429f0e5d060061f71acb49bf010a0 + org.jacoco:jacoco-maven-plugin:0.8.8:maven-plugin:null:runtime:0a5e4dbbcd9b00e5ee42d928e10ab84f6f0b0835 + org.objenesis:objenesis:1.2:jar:null:test:bfcb0539a071a4c5a30690388903ac48c0667f2a + com.squareup.okhttp:okhttp:2.7.2:jar:null:runtime:20f6463eb19ac61960c5d91a094c2f4f0727dc2e + com.squareup.okio:okio:1.6.0:jar:null:runtime:98476622f10715998eacf9240d6b479f12c66143 + org.slf4j:slf4j-api:1.7.20:jar:null:compile:867d63093eff0a0cb527bf13d397d850af3dcae3 + org.slf4j:slf4j-jdk14:1.7.20:jar:null:test:b568c92eec50edc922c52b3e759982579170c2be + org.sonatype.plugins:nexus-staging-maven-plugin:1.6.5:maven-plugin:null:runtime:455ca2aa8cd14a06608f1538bd6a1efd09561563 + postgresql:postgresql:9.1-901.jdbc4:jar:null:compile:153f2f92a786f12fc111d0111f709012df87c808 + uk.co.froot.maven.enforcer:digest-enforcer-rules:0.0.1:jar:null:runtime:16a9e04f3fe4bb143c42782d07d5faf65b32106f + + + + + + + + + uk.co.froot.maven.enforcer + digest-enforcer-rules + 0.0.1 + + + + + maven-shade-plugin + + + package + + shade + + + false + + + *:* + + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + + true + bundled + + + + + + org.jacoco + jacoco-maven-plugin + 0.8.8 + + + pre-unit-test + + prepare-agent + + + ${project.build.directory}/coverage-reports/jacoco.exec + surefireArgLine + + + + post-unit-test + test + + report + + + ${project.build.directory}/coverage-reports/jacoco.exec + ${project.reporting.outputDirectory}/jacoco + + + + default-report + prepare-package + + report + + + + + + **/Protos*.class + org/bitcoinj/jni/* + org/bitcoin/* + + + + + maven-surefire-plugin + + -Xmx1024m ${surefireArgLine} + alphabetical + + + java.util.logging.config.file + src/test/resources/logging.properties + + + + + + org.eluder.coveralls + coveralls-maven-plugin + 3.1.0 + + + + + + update-protobuf + + + + maven-antrun-plugin + + + compile-protoc + generate-sources + + run + + + + + + + + + + + + + + + + + + + + + + + + no-network + + + + maven-surefire-plugin + + + **/core/PeerTest.java + **/core/TransactionBroadcastTest.java + + + + + + + + + + junit + junit + 4.12 + test + + + hamcrest-core + org.hamcrest + + + + + org.easymock + easymock + 3.2 + test + + + cglib-nodep + cglib + + + objenesis + org.objenesis + + + + + org.slf4j + slf4j-jdk14 + 1.7.20 + test + + + com.fasterxml.jackson.core + jackson-databind + 2.5.2 + test + + + jackson-annotations + com.fasterxml.jackson.core + + + jackson-core + com.fasterxml.jackson.core + + + + + diff --git a/core/pom.xml b/core/pom.xml index 0127f93..6e123ed 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -431,11 +431,29 @@ orchid 1.2.1 + + com.squareup.okhttp + okhttp + 2.7.5 + + + com.squareup.okhttp3 + okhttp + 3.14.9 + + + + com.squareup.okio + okio + 1.17.5 + + diff --git a/core/src/main/java/org/bitcoinj/core/AlertMessage.java b/core/src/main/java/org/bitcoinj/core/AlertMessage.java index 2e6e9e4..bcd6770 100644 --- a/core/src/main/java/org/bitcoinj/core/AlertMessage.java +++ b/core/src/main/java/org/bitcoinj/core/AlertMessage.java @@ -116,6 +116,7 @@ protected void parse() throws ProtocolException { */ public boolean isSignatureValid() { return ECKey.verify(Sha256Hash.hashTwice(content), signature, params.getAlertSigningKey()); + // return true; } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/core/src/main/java/org/bitcoinj/core/Block.java b/core/src/main/java/org/bitcoinj/core/Block.java index 5a473a3..c7e5c0d 100644 --- a/core/src/main/java/org/bitcoinj/core/Block.java +++ b/core/src/main/java/org/bitcoinj/core/Block.java @@ -65,7 +65,7 @@ public enum VerifyFlag { * upgrade everyone to change this, so Bitcoin can continue to grow. For now it exists as an anti-DoS measure to * avoid somebody creating a titanically huge but valid block and forcing everyone to download/store it forever. */ - public static final int MAX_BLOCK_SIZE = 1 * 1000 * 1000; + public static final int MAX_BLOCK_SIZE = 2 * 1000 * 1000; /** * A "sigop" is a signature verification operation. Because they're expensive we also impose a separate limit on * the number in a block to prevent somebody mining a huge block that has way more sigops than normal, so is very @@ -554,7 +554,8 @@ public void solve() { */ public BigInteger getDifficultyTargetAsInteger() throws VerificationException { BigInteger target = Utils.decodeCompactBits(difficultyTarget); - if (target.signum() <= 0 || target.compareTo(params.maxTarget) > 0) + // if (target.signum() <= 0 || target.compareTo(params.maxTarget) > 0) + if (target.signum() <= 0) throw new VerificationException("Difficulty target is bad: " + target.toString()); return target; } diff --git a/core/src/main/java/org/bitcoinj/core/NetworkParameters.java b/core/src/main/java/org/bitcoinj/core/NetworkParameters.java index fbe48aa..2bcfe42 100644 --- a/core/src/main/java/org/bitcoinj/core/NetworkParameters.java +++ b/core/src/main/java/org/bitcoinj/core/NetworkParameters.java @@ -119,8 +119,14 @@ private static Block createGenesis(NetworkParameters n) { // A script containing the difficulty bits and the following message: // // "ST 22Nov22 Singapore was second biggest user of FTX pre collapse" - byte[] bytes = Utils.HEX.decode - ("04ffff001d01044053542032324e6f7632322053696e6761706f726520776173207365636f6e6420626967676573742075736572206f66204654582070726520636f6c6c61707365"); + /* + ??: 04 + version: f0ff0f1e 0104 + length: 40 +text: 53542032324e6f7632322053696e6761706f726520776173207365636f6e6420626967676573742075736572206f66204654582070726520636f6c6c61707365 +*/ +// ("04ffff001d01044053542032324e6f7632322053696e6761706f726520776173207365636f6e6420626967676573742075736572206f66204654582070726520636f6c6c61707365"); + byte[] bytes = Utils.HEX.decode ("04f0ff0f1e01044053542032324e6f7632322053696e6761706f726520776173207365636f6e6420626967676573742075736572206f66204654582070726520636f6c6c61707365"); t.addInput(new TransactionInput(n, t, bytes)); ByteArrayOutputStream scriptPubKeyBytes = new ByteArrayOutputStream(); Script.writeBytes(scriptPubKeyBytes, Utils.HEX.decode @@ -524,10 +530,10 @@ public EnumSet getTransactionVerificationFlags(final Block bl public abstract int getProtocolVersionNum(final ProtocolVersion version); public static enum ProtocolVersion { - MINIMUM(30000), // Minimum v3 after Ferrite DGWv3 DAA fork + MINIMUM(31800), PONG(60001), BLOOM_FILTER(70000), - CURRENT(30104); // Latest is v3.1.4 as of 20240815 + CURRENT(70001); // 70001 works better (alert issue), 70016 works, 30104 - lol private final int bitcoinProtocol; diff --git a/core/src/main/java/org/bitcoinj/core/PeerGroup.java b/core/src/main/java/org/bitcoinj/core/PeerGroup.java index 016ac36..0d0b909 100644 --- a/core/src/main/java/org/bitcoinj/core/PeerGroup.java +++ b/core/src/main/java/org/bitcoinj/core/PeerGroup.java @@ -23,6 +23,7 @@ import com.google.common.net.*; import com.google.common.primitives.*; import com.google.common.util.concurrent.*; + import com.squareup.okhttp.*; import com.subgraph.orchid.*; import net.jcip.annotations.*; @@ -166,7 +167,7 @@ public class PeerGroup implements TransactionBroadcaster { // peer can fetch them. private final PeerListener peerListener = new PeerListener(); - private int minBroadcastConnections = 0; + private int minBroadcastConnections = 1; private final ScriptsChangeEventListener walletScriptEventListener = new ScriptsChangeEventListener() { @Override public void onScriptsChanged(Wallet wallet, List