Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for DIVI #228

Merged
merged 9 commits into from Aug 21, 2019

Conversation

@jamesscaur
Copy link
Contributor

commented Jul 12, 2019

This PR adds support for the Divi cryptocurrency into Blockbook.

Add coin implementation
Add integration and unit tests
Deploy public server (will be up within the hour at: https://divi.txbatch.com:9189)

Divi (https://github.com/DiviProject/Divi) is a project that enables it's users to earn, send, and spend cryptocurrency without the need for advanced technical knowledge. It's based on a fork of PivX.

I'm a new developer to Golang - please let me know if anything is amiss and I'll fix it ASAP. I followed the CONTRIBUTING guide to the best of my ability.

Thanks @rikardwissing for your help in understanding your PivX code (#105) and @99darwin for your help in understanding the Divi RPC commands.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 12, 2019

Just realised that the automatic setup doesn't work for some reason. Investigating now

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 12, 2019

Found the fix - permissions issue with the downloaded divi_ubuntu/divid file (chmod u+x has to be run post-install). Testing now

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 12, 2019

Ok, interesting. divid seems to run as a "forked" service, but apparently there's an issue with the .pid file. Pushing a commit that solves the other issues to divi.json now (had to do with execute permissions of the divi_ubuntu.zip release file). Will add the final fixes tomorrow.

divid[32414]: ************************
divid[32414]: EXCEPTION: N5boost12interprocess22interprocess_exceptionE
divid[32414]: Permission denied
Fix permissions issue with automatic setup
Still awaiting fix for .pid file not created error...
@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 13, 2019

It seems to be an issue with the divid daemon itself - all the other coin definitions reference -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid. Tried with PivX, Bitcoin, and Dash - no issue. Going to try running it as a simple vs. forking service.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 14, 2019

Hey Blockbook team - I'm getting the following issue when following the standard setup guide. My OS is Debian 9 (Stretch) as recommended. I've tried reinstalling zmq4 directly from source, but no bueno - and reading bitcoinrpc.go:161 or 297 doesn't tell me any more 😅 is there something I have to update on my end?

blockbook[5190]: E0714 00:53:43.779039 5190 bitcoinrpc.go:161] mq: zmq4 was installed with ZeroMQ version 4.2.1, but the application links with version 4.3.2

blockbook[5190]: E0714 00:53:43.779471 5190 blockbook.go:279] initializeMempool zmq4 was installed with ZeroMQ version 4.2.1, but the application links with version 4.3.2application links with version 4.3.2

@martinboehm

This comment has been minimized.

Copy link
Contributor

commented Jul 18, 2019

Hi, I just built and run your DIVI Blockbook using our Docker build, without any problems. Are you using Docker to build the project?

Also, maybe pebbe/zmq4#124 will help you.

@martinboehm

This comment has been minimized.

Copy link
Contributor

commented Jul 18, 2019

When running DIVI Blockbook, it synchronizes very slowly, with lots of errors like this:

E0718 13:53:54.464443   20026 sync.go:302] getBlockWorker 5 connect block error hash 04efc2c0065d6456ddfaada40bff0382ea371e5e1c01f750d2d22d825f731178: Post http://127.0.0.1:8089: net/http: request canceled (Client.Timeout exceeded while awaiting headers). Retrying...

Any idea why is the DIVI backend not responding fast enough?

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 18, 2019

@martinboehm yes but I think I missed something during installation... thank you, I'll take a look at that now

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 18, 2019

When running DIVI Blockbook, it synchronizes very slowly, with lots of errors like this:

E0718 13:53:54.464443   20026 sync.go:302] getBlockWorker 5 connect block error hash 04efc2c0065d6456ddfaada40bff0382ea371e5e1c01f750d2d22d825f731178: Post http://127.0.0.1:8089: net/http: request canceled (Client.Timeout exceeded while awaiting headers). Retrying...

Any idea why is the DIVI backend not responding fast enough?

I'm not sure why that's occurring. Is it failing completely to get any block data, or only some?

@martinboehm

This comment has been minimized.

Copy link
Contributor

commented Jul 18, 2019

As Blockbook is retrying failed requests, the synchronization is slowly progressing.

Actually, after the block height about 2000 the number of errors is decreasing and the synchronization is proceeding faster so it is probably not an issue.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 18, 2019

Thank you for explaining. That's a curious issue, I'll raise it with the Divi devs.

I'm attempting a setup from scratch again, can you confirm that Debian 9 (Stretch) is the right OS and these are the only steps that need to be followed for proper setup?

I think the issue may be that when it came to libzmq, I used the code snippet on their ReadMe:

echo "deb http://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/ ./" >> /etc/apt/sources.list wget https://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/Release.key -O- | sudo apt-key add apt-get install libzmq3-dev

when I perhaps should have followed the manual install guide.

Will update soon.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 18, 2019

Should be working once sync is done... https://divi.txbatch.com:9189/

@martinboehm

This comment has been minimized.

Copy link
Contributor

commented Jul 18, 2019

Unfortunately the backend responses are not very reliable, see

image

And my local instance of Divi Blockbook has similar behavior.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 19, 2019

Thanks for your help @martinboehmn.

Has this issue ever occurred with another cryptocurrency that you know of, that you've tried to integrate into Blockbook? Is it possible to increase the timeout length?

I've informed the Divi devs and confirmed it's an issue with the divi daemon on Debian 9 (Stretch).

If I can manage to make this work without errors, is there anything outstanding that I have to do before getting a successful PR?

@martinboehm

This comment has been minimized.

Copy link
Contributor

commented Jul 19, 2019

There is rpc_timeout value in the config json, which could be used to increase the timeout. However, I would not increase the timeout value. 25 seconds is long enough for a normal operation.

The timeouts do not happen in any other cryptocurrency I am aware of.

I do not think that the backend timeouts are a problem for accepting this PR, however I get the following error when running the integration test:

=== RUN   TestIntegration/divi=main/sync/HandleFork
E0719 16:24:59.422191    4493 sync.go:299] getBlockWorker 3 connect block error Block not found. Exiting...
--- FAIL: TestIntegration (0.78s)
    --- FAIL: TestIntegration/divi=main (0.78s)
        --- FAIL: TestIntegration/divi=main/rpc (0.00s)
            rpc.go:55: Failed loading of test data: invalid character ']' looking for beginning of value
        --- FAIL: TestIntegration/divi=main/sync (0.71s)
            --- PASS: TestIntegration/divi=main/sync/ConnectBlocksParallel (0.27s)
                --- PASS: TestIntegration/divi=main/sync/ConnectBlocksParallel/verifyBlockInfo (0.00s)
                --- PASS: TestIntegration/divi=main/sync/ConnectBlocksParallel/verifyTransactions (0.00s)
                --- PASS: TestIntegration/divi=main/sync/ConnectBlocksParallel/verifyAddresses (0.00s)
            --- PASS: TestIntegration/divi=main/sync/ConnectBlocks (0.25s)
                --- PASS: TestIntegration/divi=main/sync/ConnectBlocks/verifyBlockInfo (0.00s)
                --- PASS: TestIntegration/divi=main/sync/ConnectBlocks/verifyTransactions (0.00s)
                --- PASS: TestIntegration/divi=main/sync/ConnectBlocks/verifyAddresses (0.00s)
            --- FAIL: TestIntegration/divi=main/sync/HandleFork (0.19s)
                handlefork.go:34: Upper block height mismatch: 0 != 407407
FAIL
FAIL	blockbook/tests	1.072s
@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 19, 2019

Thanks for clarifying. Yeah, it seems that when the node is fully synced, new blocks come in fast enough - faster than https://chainz.cryptoid.info/divi/ in many cases. Perhaps it's a RAM issue or only experienced during initial sync?

Looking into the integration test now.

@martinboehm

This comment has been minimized.

Copy link
Contributor

commented Jul 19, 2019

Also, I noticed that Blockbook does not get any notifications about new mempool transactions and new blocks from the backend. It still synchronizes using fallback mechanism, which means it checks mempool once a minute and new blocks once every 15 minutes.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 19, 2019

Hm, how can one set that up? If you could point me to the code where either PIVX, DASH, or BTC stream new blocks, I'll try reproduce it.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 19, 2019

Thanks for pointing out the integration test issue Martin - I think I need to have more of a play with Blockbook to understand what's going wrong. I mostly mimiced @rikardwissing's PIVX code for the tests, but since the fork happened a while ago it's possible I need to write it from scratch.

I've tried out changing the tests/rpc/divi.json data a few times, and it's giving me different errors, which is always a good sign...

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 25, 2019

I'm having a little trouble understanding what /tests/rpc/testdata/$COIN.json needs to have. Is this the expected raw RPC input, or is it the output? Does it iterate through the provided data and confirm against the tests outlined in /tests/tests.json?

@martinboehm

This comment has been minimized.

Copy link
Contributor

commented Jul 26, 2019

Regarding the integration tests, I think you understand it correctly. The /tests/rpc/testdata/$COIN.json contains expected data from RPC.
The reason for the integration tests is that from time to time the backend authors change the RPC interface (usually due to a bug) and we have to be sure that we get from the backend what we expect.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 27, 2019

Thanks Martin.

This is strange...

I got it down to only a single error. Specifically

rpc.go:179: GetTransaction() got
&{Hex:010000000175d0b5235b4786be686a50f04382c3e401a1e8aa1ba17e7c959a58ddd39efeaa010000006b483045022100e552531d4be4290438edc7e8c5d1e2b5548c1a76cd396dfa9423b0e55abb0c6a02203efc3f76133de9161ba787c5fd9ef4cffbfd0745cfea8cf3a3f6dd3bce9293d0012103961c8f7574f64a61087adf3057f394be8bdc33b7a8abcbc60a71f7477dbd52a1ffffffff03000000000000000000009bb81da10100001976a9143ae7ad31dc26934c71e61bbb3248fb509a5f5d5988ac009ca6920c0000001976a9140d570e6e31e046f05b26f8bd8b14adbc2e76f99988ac00000000 Txid:877557968ae65d64e99d09170cd9548e8a309508596355cc264758ce8c483b4b Version:1 LockTime:0 Vin:[{Coinbase: Txid:aafe9ed3dd589a957c7ea11baae8a101e4c38243f0506a68be86475b23b5d075 Vout:1 ScriptSig:{Hex:483045022100e552531d4be4290438edc7e8c5d1e2b5548c1a76cd396dfa9423b0e55abb0c6a02203efc3f76133de9161ba787c5fd9ef4cffbfd0745cfea8cf3a3f6dd3bce9293d0012103961c8f7574f64a61087adf3057f394be8bdc33b7a8abcbc60a71f7477dbd52a1} Sequence:4294967295 Addresses:[]}] Vout:[{ValueSat:{neg:false abs:[]} JsonValue: N:0 ScriptPubKey:{Hex: Addresses:[]}} {ValueSat:{neg:false abs:[1791500000000]} JsonValue: N:1 ScriptPubKey:{Hex:76a9143ae7ad31dc26934c71e61bbb3248fb509a5f5d5988ac Addresses:[DAWZGZ2NSQHgDY7HWZCkZEHC9ya5kiJVQJ]}} {ValueSat:{neg:false abs:[54000000000]} JsonValue: N:2 ScriptPubKey:{Hex:76a9140d570e6e31e046f05b26f8bd8b14adbc2e76f99988ac Addresses:[D6MdcXyHpuMTDSF6zLPLT2UmXHB2ZY5x37]}}] Confirmations:0 Time:1564178016 Blocktime:1564178016 CoinSpecificData:<nil>}
, want
&{Hex:010000000175d0b5235b4786be686a50f04382c3e401a1e8aa1ba17e7c959a58ddd39efeaa010000006b483045022100e552531d4be4290438edc7e8c5d1e2b5548c1a76cd396dfa9423b0e55abb0c6a02203efc3f76133de9161ba787c5fd9ef4cffbfd0745cfea8cf3a3f6dd3bce9293d0012103961c8f7574f64a61087adf3057f394be8bdc33b7a8abcbc60a71f7477dbd52a1ffffffff03000000000000000000009bb81da10100001976a9143ae7ad31dc26934c71e61bbb3248fb509a5f5d5988ac009ca6920c0000001976a9140d570e6e31e046f05b26f8bd8b14adbc2e76f99988ac00000000 Txid:877557968ae65d64e99d09170cd9548e8a309508596355cc264758ce8c483b4b Version:1 LockTime:0 Vin:[{Coinbase: Txid:aafe9ed3dd589a957c7ea11baae8a101e4c38243f0506a68be86475b23b5d075 Vout:1 ScriptSig:{Hex:483045022100e552531d4be4290438edc7e8c5d1e2b5548c1a76cd396dfa9423b0e55abb0c6a02203efc3f76133de9161ba787c5fd9ef4cffbfd0745cfea8cf3a3f6dd3bce9293d0012103961c8f7574f64a61087adf3057f394be8bdc33b7a8abcbc60a71f7477dbd52a1} Sequence:4294967295 Addresses:[]}] Vout:[{ValueSat:{neg:false abs:[]} JsonValue: N:0 ScriptPubKey:{Hex: Addresses:[]}} {ValueSat:{neg:false abs:[1791500000000]} JsonValue: N:1 ScriptPubKey:{Hex:76a9143ae7ad31dc26934c71e61bbb3248fb509a5f5d5988ac Addresses:[DAWZGZ2NSQHgDY7HWZCkZEHC9ya5kiJVQJ]}} {ValueSat:{neg:false abs:[54000000000]} JsonValue: N:2 ScriptPubKey:{Hex:76a9140d570e6e31e046f05b26f8bd8b14adbc2e76f99988ac Addresses:[D6MdcXyHpuMTDSF6zLPLT2UmXHB2ZY5x37]}}] Confirmations:0 Time:1564178016 Blocktime:1564178016 CoinSpecificData:<nil>}

Am I wrong or is that completely the same text?

What could be causing this issue?

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 27, 2019

Here's what I changed:

  • Removed GetBlockHeader() test. The Divi RPC call for getblockheader doesn't show confirmations, so test will fail citing rpc.go:333: GetBlockHeader() got struct with invalid Confirmations field
  • Removed HandleFork() test. Divi RPC doesn't have a getbestblock method, only getbestblockhash + getblock $hash will work. So the "upper point" citied in handlefork.go will produce an error like handlefork.go:34: Upper block height mismatch: 0 !== 430894

I'm not sure if the raw data actually matches the RPC interface accessible through http://divi.txbatch.com:8089 / divi-cli though - perhaps not? Does GetBestBlock or GetBlockHeader refer to a Blockbook function rather than a direct RPC command?

@99darwin

This comment has been minimized.

Copy link

commented Jul 27, 2019

Thanks Martin.

This is strange...

I got it down to only a single error. Specifically

rpc.go:179: GetTransaction() got
&{Hex:010000000175d0b5235b4786be686a50f04382c3e401a1e8aa1ba17e7c959a58ddd39efeaa010000006b483045022100e552531d4be4290438edc7e8c5d1e2b5548c1a76cd396dfa9423b0e55abb0c6a02203efc3f76133de9161ba787c5fd9ef4cffbfd0745cfea8cf3a3f6dd3bce9293d0012103961c8f7574f64a61087adf3057f394be8bdc33b7a8abcbc60a71f7477dbd52a1ffffffff03000000000000000000009bb81da10100001976a9143ae7ad31dc26934c71e61bbb3248fb509a5f5d5988ac009ca6920c0000001976a9140d570e6e31e046f05b26f8bd8b14adbc2e76f99988ac00000000 Txid:877557968ae65d64e99d09170cd9548e8a309508596355cc264758ce8c483b4b Version:1 LockTime:0 Vin:[{Coinbase: Txid:aafe9ed3dd589a957c7ea11baae8a101e4c38243f0506a68be86475b23b5d075 Vout:1 ScriptSig:{Hex:483045022100e552531d4be4290438edc7e8c5d1e2b5548c1a76cd396dfa9423b0e55abb0c6a02203efc3f76133de9161ba787c5fd9ef4cffbfd0745cfea8cf3a3f6dd3bce9293d0012103961c8f7574f64a61087adf3057f394be8bdc33b7a8abcbc60a71f7477dbd52a1} Sequence:4294967295 Addresses:[]}] Vout:[{ValueSat:{neg:false abs:[]} JsonValue: N:0 ScriptPubKey:{Hex: Addresses:[]}} {ValueSat:{neg:false abs:[1791500000000]} JsonValue: N:1 ScriptPubKey:{Hex:76a9143ae7ad31dc26934c71e61bbb3248fb509a5f5d5988ac Addresses:[DAWZGZ2NSQHgDY7HWZCkZEHC9ya5kiJVQJ]}} {ValueSat:{neg:false abs:[54000000000]} JsonValue: N:2 ScriptPubKey:{Hex:76a9140d570e6e31e046f05b26f8bd8b14adbc2e76f99988ac Addresses:[D6MdcXyHpuMTDSF6zLPLT2UmXHB2ZY5x37]}}] Confirmations:0 Time:1564178016 Blocktime:1564178016 CoinSpecificData:<nil>}
, want
&{Hex:010000000175d0b5235b4786be686a50f04382c3e401a1e8aa1ba17e7c959a58ddd39efeaa010000006b483045022100e552531d4be4290438edc7e8c5d1e2b5548c1a76cd396dfa9423b0e55abb0c6a02203efc3f76133de9161ba787c5fd9ef4cffbfd0745cfea8cf3a3f6dd3bce9293d0012103961c8f7574f64a61087adf3057f394be8bdc33b7a8abcbc60a71f7477dbd52a1ffffffff03000000000000000000009bb81da10100001976a9143ae7ad31dc26934c71e61bbb3248fb509a5f5d5988ac009ca6920c0000001976a9140d570e6e31e046f05b26f8bd8b14adbc2e76f99988ac00000000 Txid:877557968ae65d64e99d09170cd9548e8a309508596355cc264758ce8c483b4b Version:1 LockTime:0 Vin:[{Coinbase: Txid:aafe9ed3dd589a957c7ea11baae8a101e4c38243f0506a68be86475b23b5d075 Vout:1 ScriptSig:{Hex:483045022100e552531d4be4290438edc7e8c5d1e2b5548c1a76cd396dfa9423b0e55abb0c6a02203efc3f76133de9161ba787c5fd9ef4cffbfd0745cfea8cf3a3f6dd3bce9293d0012103961c8f7574f64a61087adf3057f394be8bdc33b7a8abcbc60a71f7477dbd52a1} Sequence:4294967295 Addresses:[]}] Vout:[{ValueSat:{neg:false abs:[]} JsonValue: N:0 ScriptPubKey:{Hex: Addresses:[]}} {ValueSat:{neg:false abs:[1791500000000]} JsonValue: N:1 ScriptPubKey:{Hex:76a9143ae7ad31dc26934c71e61bbb3248fb509a5f5d5988ac Addresses:[DAWZGZ2NSQHgDY7HWZCkZEHC9ya5kiJVQJ]}} {ValueSat:{neg:false abs:[54000000000]} JsonValue: N:2 ScriptPubKey:{Hex:76a9140d570e6e31e046f05b26f8bd8b14adbc2e76f99988ac Addresses:[D6MdcXyHpuMTDSF6zLPLT2UmXHB2ZY5x37]}}] Confirmations:0 Time:1564178016 Blocktime:1564178016 CoinSpecificData:<nil>}

Am I wrong or is that completely the same text?

What could be causing this issue?

I ran the text through a Diff Checker and they are identical.

Screen Shot 2019-07-27 at 9 46 06 AM

@martinboehm

This comment has been minimized.

Copy link
Contributor

commented Jul 29, 2019

The problem could be in some empty array (Addresses?). For reflect.DeepEqual nil array != empty array [] but it is printed the same. Please check what is the backend returning for given transaction, maybe it is returning for example Addresses: [] for some input.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Jul 31, 2019

Curious - thanks @martinboehm! Will take a look tomorrow.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Aug 4, 2019

@martinboehm to clarify, is there any way of identifying if this issue is caused by the rpc or sync testdata files?

@martinboehm

This comment has been minimized.

Copy link
Contributor

commented Aug 4, 2019

The error is logged from rpc.go:179: GetTransaction(), which is the rpc part.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Aug 6, 2019

Is there any way to make more descriptive errors? I've gone through every array I can, extensively tested with different RPC responses - nothing works, I keep getting the "got X, want X" error

@martinboehm

This comment has been minimized.

Copy link
Contributor

commented Aug 7, 2019

Hi, I updated the rpc.go code, the issue with nil/empty slices is messy. GetTransaction test works now. However, there is an issue with GetBlockHeader:

--- FAIL: TestIntegration/divi=main/rpc/GetBlockHeader (0.00s)
rpc.go:363: GetBlockHeader() got struct with invalid Confirmations field

DIVI backend does not return the number of confirmations? If not I would suggest to remove the GetBlockHeader from the list of tests.

@99darwin

This comment has been minimized.

Copy link

commented Aug 7, 2019

getblockheader <hash> will return a response like this:

{
    "version" : 4,
    "previousblockhash" : "bd04e48e28dbc1819fc4c200dfcd35f7758261e81d8ee0f2430020b112b72e96",
    "merkleroot" : "a02b42e7e6a30367578f603f71cc99021dc652b2194263c68208372fa7eade2b",
    "time" : 1563816327,
    "bits" : "1b13f52f",
    "nonce" : 0
}

No confirmations value.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Aug 7, 2019

Thank you @martinboehm! And @99darwin - also @Encke for having a look. Will try out @99darwin's suggestion.

I also appreciate the Trezor team's patience in having an open pull request for this long.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Aug 8, 2019

Fixed and tested - had an issue with the recently modified rpc/testdata/divi.json, but after reverting that and removing the GetBlockHeader test, all seems to work well:

make test
make test-integration ARGS="-run=TestIntegration/divi/"

Just running a merge now and cleaning up my commits

@martinboehm

This comment has been minimized.

Copy link
Contributor

commented Aug 13, 2019

Hi, all tests work now. I could merge your PR but I would suggest first to decrease the period of new blocks check from 15 minutes to something lower, for example to 30 seconds by setting the parameter -resyncindexperiod=30000 in the divi.json. See for example

"additional_params": "-resyncindexperiod=30011 -resyncmempoolperiod=2011",

It seems to me that notifications of new blocks is not working well.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Aug 15, 2019

Cool thanks, will do that...

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Aug 15, 2019

Do you recommend also adjusting the -resyncmempoolperiod too?

@martinboehm

This comment has been minimized.

Copy link
Contributor

commented Aug 15, 2019

It seems to me that mempool is synchronized by notificatins. On the other hand, I would probably set the -resyncmempoolperiod to some value smaller than -resyncindexperiod.

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Aug 20, 2019

Tested it - seems to all work fine mimicking the Viacoin setup... https://divi.txbatch.com:9189/

@martinboehm martinboehm merged commit d6375a1 into trezor:master Aug 21, 2019

@jamesscaur

This comment has been minimized.

Copy link
Contributor Author

commented Aug 21, 2019

Excellent - thanks for all your help @martinboehm! Also @99darwin and @Encke for your assistance.

Very much a fan of Blockbook. I will likely be using it extensively for my user-friendly block explorer project, https://satsear.ch.

Martin - do you welcome updates to the Blockbook documentation?

@martinboehm

This comment has been minimized.

Copy link
Contributor

commented Aug 21, 2019

@jamesscaur Thank you very much for your praise. Documentation updates are welcome, for sure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.