Giter VIP home page Giter VIP logo

floj's People

Contributors

bitspill avatar cchrysostom avatar devonjames avatar jlautner avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

floj-org

floj's Issues

floj error when running mainnet and testnet

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.

Put the jar artifact into a public Maven repo

Options:

  1. 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.

  2. 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

  3. 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.

  4. 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).

floj unit tests are hanging/failing

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

Fix creation of private key from BIP 32 format

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.