mediciland / floj Goto Github PK
View Code? Open in Web Editor NEWMoved to: https://github.com/floj-org/floj
License: Apache License 2.0
Moved to: https://github.com/floj-org/floj
License: Apache License 2.0
12:58:34 23 Peer.blockChainDownloadLocked: blockChainDownloadLocked(0000000000000000000000000000000000000000000000000000000000000000): ignoring duplicated request: a939b5c2f2a9d7430f833a9ffc1ecd7eb433add3671677809cbf6b8bdc1430ec
12:58:34 23 Peer.blockChainDownloadLocked: java.lang.Throwable
at org.floj.core.Peer.blockChainDownloadLocked(Peer.java:1454)
at org.floj.core.Peer.processHeaders(Peer.java:735)
at org.floj.core.Peer.processMessage(Peer.java:505)
at org.floj.core.PeerSocketHandler.receiveBytes(PeerSocketHandler.java:145)
at org.floj.net.ConnectionHandler.handleKey(ConnectionHandler.java:224)
at org.floj.net.NioClientManager.handleKey(NioClientManager.java:87)
at org.floj.net.NioClientManager.run(NioClientManager.java:123)
at com.google.common.util.concurrent.AbstractExecutionThreadService$1$2.run(AbstractExecutionThreadService.java:60)
at com.google.common.util.concurrent.Callables$3.run(Callables.java:95)
at org.floj.utils.ContextPropagatingThreadFactory$1.run(ContextPropagatingThreadFactory.java:50)
at java.lang.Thread.run(Thread.java:745)
Error appears in logs but does not fail application when running wallettemplate
.
Bitcoinj allows for creation of a private key with the BIP 32 "tprv" format.
Here's an example, where we added Florincoin parameters to Bitcoinj: OverstockMedici/bitcoinj@1700ec0...OverstockMedici:master
Here's the set of commands to use that library:
$ kotlinc-jvm -cp core/target/bitcoinj-core-0.15.med.1-SNAPSHOT-bundled.jar
Welcome to Kotlin version 1.2.41 (JRE 1.8.0_171-b11)
Type :help for help, :quit for quit
>>> val privStr = "tprv8ZgxMBicQKsPf6jw5tHhF6RbXT197jVU5W4KghzHjSoPDEW1bjAeK2q3p8Pg8wHyjL93U96Lksgz3X3csHRRZiuwXQ9rELzydSrbLjc2y8f"
>>> val netParams = org.bitcoinj.params.FloTestNetParams.get()
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
>>> val key = org.bitcoinj.crypto.DeterministicKey.deserializeB58(privStr, netParams)
>>> key
DeterministicKey{pub=02c554077cefd36e899041dbb958a2ad87f626ffd14f10a6ce106c518841ad6d9d, chainCode=dfa825d74106df14bcb6f00105876119bb6ed676da53b9342a5a68de8c6bc475, path=M, isEncrypted=false, isPubKeyOnly=false}
(BTW, if you like Scala, you can see the same success if you substitute "scala" for "kotlinc-jvm" on the first line.)
However, here's what we get with the current code:
$ kotlinc-jvm -cp floj-core/target/floj-core-0.14.8-SNAPSHOT-bundled.jar
Welcome to Kotlin version 1.2.41 (JRE 1.8.0_171-b11)
Type :help for help, :quit for quit
>>> val privStr = "tprv8ZgxMBicQKsPf6jw5tHhF6RbXT197jVU5W4KghzHjSoPDEW1bjAeK2q3p8Pg8wHyjL93U96Lksgz3X3csHRRZiuwXQ9rELzydSrbLjc2y8f"
>>> val netParams = org.floj.core.NetworkParameters.fromID(org.floj.core.NetworkParameters.ID_TESTNET)
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
>>> val key = org.floj.crypto.DeterministicKey.deserializeB58(privStr, netParams)
java.lang.IllegalArgumentException: Unknown header bytes: tprv
at org.floj.crypto.DeterministicKey.deserialize(DeterministicKey.java:524)
at org.floj.crypto.DeterministicKey.deserializeB58(DeterministicKey.java:506)
at org.floj.crypto.DeterministicKey.deserializeB58(DeterministicKey.java:497)
Options:
The Maven Central Repository
This is probably the best option since this repo is published in GitHub. Bintray (below) seems like a great alternative if we host this in GitLab.
http://maven.apache.org/repository/guide-central-repository-upload.html
... and the best way is probably via OSSRH https://central.sonatype.org/pages/ossrh-guide.html
... but note that there are manual steps with PGP public keys, etc.
JFrog Bintray
They integrate with Artifactory, which we're already using internally, and they're free for open source projects. But this project is in GitHub and not GitLab.
https://bintray.com/
https://bintray.com/signup/oss
Less optimal: GitHub
Since this is hosted at GitHub, it's possible to configure things such that it can be used as a repo: https://stackoverflow.com/questions/14013644/hosting-a-maven-repository-on-github#14013645
This isn't optimal because it's not a standard repo for consumers to add.
Even less optimal: Artifactory
DeSoto uses Artifactory (at mediciventures.jfrog.io) for internal artifacts. One possibility is to make a public directory there for releases. This is not ideal because it's not a standard repo for consumers to add (and it adds to our maintenance).
Unit tests get stuck here when running mvn clean package
:
testTransactionsRetain(org.floj.core.ParseByteCacheTest) Time elapsed: 0.039 sec <<< ERROR!
java.nio.BufferUnderflowException
at org.floj.core.ParseByteCacheTest.testTransaction(ParseByteCacheTest.java:373)
at org.floj.core.ParseByteCacheTest.testTransactionsRetain(ParseByteCacheTest.java:153)
Running org.floj.core.PeerAddressTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in org.floj.core.PeerAddressTest
Running org.floj.core.PeerGroupTest
Running mvn clean package -DskipTests
for now
Should remove before repo gains public exposure or funds can be drained (if any)
Add segregated witness support.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.