BitcoinJ не запускает загрузку, что может быть причиной этого?

Я использую библиотеку BitcoinJ, чтобы написать биткойн-кошелек для Android, и в настоящее время я пытаюсь использовать WalletAppKit, чтобы все настроить. Из документации я обнаружил, что для правильной работы кошелька необходимо сначала загрузить заголовочные файлы (так как это кошелек SPV). В моей деятельности у меня есть следующий код.

    val walletAppKit = object : WalletAppKit(TestNet3Params.get(), context!!.filesDir, "BTCWallet") {
        override fun onSetupCompleted() {
            super.onSetupCompleted()
            Log.d(Globals.LOG_TAG, "Setup complete")

            wallet().addCoinsReceivedEventListener { wallet, tx, prevBalance, newBalance ->
                Log.d(Globals.LOG_TAG, "New balance is" + newBalance.toFriendlyString())
            }
        }
    }

    walletAppKit.setDownloadListener(object: DownloadProgressTracker() {
        override fun progress(pct: Double, blocksSoFar: Int, date: Date?) {
            super.progress(pct, blocksSoFar, date)
            Log.d(Globals.LOG_TAG, "Downloaded: " + blocksSoFar.toString() + " so far")
        }
        override fun doneDownload() {
            super.doneDownload()
            Log.d(Globals.LOG_TAG, "Download complete!")
        }

        override fun startDownload(blocks: Int) {
            super.startDownload(blocks)
            Log.d(Globals.LOG_TAG, "Download starting!")
        }
    })

    walletAppKit.setBlockingStartup(false)
    walletAppKit.startAsync()

Когда приложение запускается, я вижу журнал "Установка завершена" в logcat, но я никогда не вижу никаких других журналов, таких как "Загрузка начинается" или "Загрузка завершена!" я пропускаю вызов функции, чтобы начать загрузку, так как я думал, что она должна начаться только при вызове wallepAppKit.startAsync() но это может быть не так.

В журнале я все время нахожу следующую ошибку, которая может быть связана, но не вызывает сбой

2019-02-19 21:47:47.453 24575-24808/com.bitcoinwallet W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'org.bitcoinj.core.Block org.bitcoinj.core.StoredBlock.getHeader()' on a null object reference
2019-02-19 21:47:47.454 24575-24808/com.bitcoinwallet W/System.err:     at org.bitcoinj.params.TestNet3Params.checkDifficultyTransitions(TestNet3Params.java:108)
2019-02-19 21:47:47.454 24575-24808/com.bitcoinwallet W/System.err:     at org.bitcoinj.core.AbstractBlockChain.add(AbstractBlockChain.java:488)
2019-02-19 21:47:47.454 24575-24808/com.bitcoinwallet W/System.err:     at org.bitcoinj.core.AbstractBlockChain.add(AbstractBlockChain.java:352)
2019-02-19 21:47:47.454 24575-24808/com.bitcoinwallet W/System.err:     at org.bitcoinj.core.Peer.processHeaders(Peer.java:703)
2019-02-19 21:47:47.454 24575-24808/com.bitcoinwallet W/System.err:     at org.bitcoinj.core.Peer.processMessage(Peer.java:504)
2019-02-19 21:47:47.454 24575-24808/com.bitcoinwallet W/System.err:     at org.bitcoinj.core.PeerSocketHandler.receiveBytes(PeerSocketHandler.java:144)
2019-02-19 21:47:47.454 24575-24808/com.bitcoinwallet W/System.err:     at org.bitcoinj.net.ConnectionHandler.handleKey(ConnectionHandler.java:223)
2019-02-19 21:47:47.454 24575-24808/com.bitcoinwallet W/System.err:     at org.bitcoinj.net.NioClientManager.handleKey(NioClientManager.java:86)
2019-02-19 21:47:47.454 24575-24808/com.bitcoinwallet W/System.err:     at org.bitcoinj.net.NioClientManager.run(NioClientManager.java:122)
2019-02-19 21:47:47.454 24575-24808/com.bitcoinwallet W/System.err:     at com.google.common.util.concurrent.AbstractExecutionThreadService$1$2.run(AbstractExecutionThreadService.java:60)
2019-02-19 21:47:47.454 24575-24808/com.bitcoinwallet W/System.err:     at com.google.common.util.concurrent.Callables$3.run(Callables.java:95)
2019-02-19 21:47:47.454 24575-24808/com.bitcoinwallet W/System.err:     at org.bitcoinj.utils.ContextPropagatingThreadFactory$1.run(ContextPropagatingThreadFactory.java:49)
2019-02-19 21:47:47.454 24575-24808/com.bitcoinwallet W/System.err:     at java.lang.Thread.run(Thread.java:764)

0 ответов

Другие вопросы по тегам