Private Node Matcher

After some time I managed to get my private Waves Node and the Waves Explorer working. Everything works fine, except the node’s local matcher. I’ve done everything I think I need to get it working, but I can’t see it running on port 6886, and there is nothing related to the matcher in the node’s log files. See below the output of netstat on the node:

root@de3697003885:/# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:6864 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6869 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.11:39386 0.0.0.0:* LISTEN
tcp 0 181 172.18.0.2:6869 192.168.0.18:1376 ESTABLISHED
tcp 0 0 172.18.0.2:6869 192.168.0.18:1512 ESTABLISHED
tcp 0 0 172.18.0.2:6869 192.168.0.18:19306 ESTABLISHED
tcp 0 0 172.18.0.2:6869 192.168.0.18:19493 ESTABLISHED
udp 0 0 127.0.0.11:58470 0.0.0.0:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] STREAM CONNECTED 34433237
unix 2 [ ] STREAM CONNECTED 34433235

My matcher config:
“matcher”: {
“account”: “3FgzdSRQ9pyfda4v2xk5ax1AmwjFJYMaKWD”,
“bind-address”: “0.0.0.0”,
“enable”: “yes”,
“port”: 6886,
“price-assets”: [
“WAVES”,
“Fmg13HEHJHuZYbtJq8Da8wifJENq8uBxDuWoP9pVe2Qe”,
“HyFJ3rrq5m7FxdkWtQXkZrDat1F7LjVVGfpSkUuEXQHj”,
“2xnE3EdpqXtFgCP156qt1AbyjpqdZ5jGjWo3CwTawcux”,
“6pmDivReTLikwYqQtJTv6dTcE59knriaodB3AK8T9cF8”
]
},

Setting it to 127.0.0.1 does not enable it either.

Startup log:
2019-06-16 17:00:08,485 INFO [main] c.w.Application$ - Starting…
2019-06-16 17:00:08,841 INFO [ctor.default-dispatcher-3] a.event.slf4j.Slf4jLogger - Slf4jLogger started
2019-06-16 17:00:08,870 INFO [main] c.w.Application$ - Waves v0.17.2 Blockchain Id: D
2019-06-16 17:00:08,871 DEBUG [main] c.w.db.package$ - Open DB at /waves/data
2019-06-16 17:00:10,337 DEBUG [main] com.wavesplatform.package$ - Genesis block: Block(4Esh3PXHsJLgEqSbh9ispkYRmgATxB7uA9EuwavnJ9uLmba15SwCNJY7GkGjnXZbpVVUETrPSFiRGAgSU9fvHnYZ -> 67rpwLC…, txs=4, features=Set())
2019-06-16 17:00:10,442 DEBUG [main] com.wavesplatform.package$ - Genesis block json: {“reference”:“67rpwLCuS5DGA8KGZXKsVQ7dnPb9goRLoKfgGbLfQg9WoLUgNY77E2jT11fem3coV9nAkguBACzrU1iyZM4B8roQ”,“blocksize”:406,“signature”:“4Esh3PXHsJLgEqSbh9ispkYRmgATxB7uA9EuwavnJ9uLmba15SwCNJY7GkGjnXZbpVVUETrPSFiRGAgSU9fvHnYZ”,“nxt-consensus”:{“base-target”:153722867,“generation-signature”:“11111111111111111111111111111111”},“fee”:0,“generator”:“3FNgbq7RNPDdabyoos5GmEMdvcGeFtus5v3”,“transactionCount”:4,“transactions”:[{“type”:1,“id”:“2rTYZFkAtYa2HaHfGiuM43JfXDxYqEYfXu2DHo34DDD26fZG63FSDqgkc3YrXtYFJhS4jWdxSaKwndmQTQLzn9m7”,“fee”:0,“timestamp”:1500635421931,“signature”:“2rTYZFkAtYa2HaHfGiuM43JfXDxYqEYfXu2DHo34DDD26fZG63FSDqgkc3YrXtYFJhS4jWdxSaKwndmQTQLzn9m7”,“recipient”:“3FgzdSRQ9pyfda4v2xk5ax1AmwjFJYMaKWD”,“amount”:2500000000000000},{“type”:1,“id”:“4yPYJpqShw7LUdFgzGnzSz4F254E9AUXrnjeFgsMYtqqMMzfSh4Ko57JQ1CFiox4UjNssmvCyqahLUDWEvWz919C”,“fee”:0,“timestamp”:1500635421931,“signature”:“4yPYJpqShw7LUdFgzGnzSz4F254E9AUXrnjeFgsMYtqqMMzfSh4Ko57JQ1CFiox4UjNssmvCyqahLUDWEvWz919C”,“recipient”:“3Fg3dY6XAx9sxVBQ29yNN1qokh1yFaMKbng”,“amount”:2500000000000000},{“type”:1,“id”:“3eetyJbF9wc7rJ1LSFM4y3BnDdwvQHwKb36ej7eJpEAwg5C5akYv6qnKm9PaAUdhYpiGk5CQYneCsfqQEBq3Spti”,“fee”:0,“timestamp”:1500635421931,“signature”:“3eetyJbF9wc7rJ1LSFM4y3BnDdwvQHwKb36ej7eJpEAwg5C5akYv6qnKm9PaAUdhYpiGk5CQYneCsfqQEBq3Spti”,“recipient”:“3Fc1TBkUC7f1TdsnB6P5ARf4mFe47hXrqUe”,“amount”:2500000000000000},{“type”:1,“id”:“5mbDgGJuynjPc2hi5sQq5zXE29PvgXnBMJNkVHBVGPFjeM2iPnxFsFghd69uGkvY2KkiMa2ACEuU4YLNzHpd5Xjv”,“fee”:0,“timestamp”:1500635421931,“signature”:“5mbDgGJuynjPc2hi5sQq5zXE29PvgXnBMJNkVHBVGPFjeM2iPnxFsFghd69uGkvY2KkiMa2ACEuU4YLNzHpd5Xjv”,“recipient”:“3FV3TP9QqzrSGFJToy2hfdHXWfssepSXTPX”,“amount”:2500000000000000}],“version”:1,“timestamp”:1500635421931}
2019-06-16 17:00:10,446 INFO [main] c.w.w.Wallet$WalletImpl - Added account #1
2019-06-16 17:00:10,634 DEBUG [main] c.w.mining.MinerImpl - Next attempt for acc=KeyPair(G9pCNMq3y8UMsbkJfe61HjJvMpRirGJuN8VCKTNSQJ8B) in 0 milliseconds
2019-06-16 17:00:10,639 DEBUG [miner-pool-32] c.w.mining.MinerImpl - Forging with 3FgzdSRQ9pyfda4v2xk5ax1AmwjFJYMaKWD, Time 45670 > Estimated Time 8226, balance 2500001101700000, prev block 5rNtNhPvk7EM5dtrdG6unD8YhDCJHgGVMcYCZhJPphuYZCunaGVKmDux46RbNZU2FcCHBn1RPGUngyQFZerK4AWw
2019-06-16 17:00:10,640 DEBUG [miner-pool-32] c.w.mining.MinerImpl - Previous block ID 5rNtNhPvk7EM5dtrdG6unD8YhDCJHgGVMcYCZhJPphuYZCunaGVKmDux46RbNZU2FcCHBn1RPGUngyQFZerK4AWw at 17386 with target 1376
2019-06-16 17:00:10,667 DEBUG [miner-pool-32] c.w.mining.MinerImpl - Adding 0 unconfirmed transaction(s) to new block
2019-06-16 17:00:10,782 INFO [appender-34] c.w.s.BlockchainUpdaterImpl - New height: 17387
2019-06-16 17:00:10,784 DEBUG [rx-score-observer-37] c.w.n.RxScoreObserver$ - New local score: 217938687858026569247, old: 217925407264740961219, Δ13280593285608028
2019-06-16 17:00:10,788 DEBUG [miner-pool-33] c.w.mining.MinerImpl - Forged and applied Block(nLYTZ7aptcMWLMJUCcNvLSJVJvzBC1BJwJkP6cvwFyDbn7syupjuLpUVUCpmfuB7FeTqJJYq8EFepxBLoUNMRSi -> 5rNtNhP…, txs=0, features=Set()) by 3FgzdSRQ9pyfda4v2xk5ax1AmwjFJYMaKWD with cumulative score 217938687858026569247
2019-06-16 17:00:10,801 DEBUG [miner-pool-33] c.w.mining.MinerImpl - Next attempt for acc=KeyPair(G9pCNMq3y8UMsbkJfe61HjJvMpRirGJuN8VCKTNSQJ8B) in 21162 milliseconds
2019-06-16 17:00:10,803 INFO [miner-pool-33] c.w.mining.MinerImpl - Start mining microblocks
2019-06-16 17:00:10,803 INFO [miner-pool-33] c.w.mining.MinerImpl - Generate MicroBlock sequence, delay = 0 days
2019-06-16 17:00:10,805 INFO [miner-pool-32] c.w.mining.MinerImpl - Generate MicroBlock sequence, delay = 3 seconds
2019-06-16 17:00:11,219 INFO [main] c.w.Application - REST API was bound on 0.0.0.0:6869
2019-06-16 17:00:13,255 INFO [ctor.default-dispatcher-4] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/node/version
2019-06-16 17:00:13,255 INFO [ctor.default-dispatcher-2] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/transactions/unconfirmed
2019-06-16 17:00:13,255 INFO [ctor.default-dispatcher-6] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/consensus/basetarget
2019-06-16 17:00:13,255 INFO [ctor.default-dispatcher-8] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/blocks/height
2019-06-16 17:00:13,284 INFO [ctor.default-dispatcher-8] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/blocks/height
2019-06-16 17:00:13,290 INFO [ctor.default-dispatcher-2] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/blocks/headers/last
2019-06-16 17:00:13,311 INFO [ctor.default-dispatcher-9] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/blocks/delay/nLYTZ7aptcMWLMJUCcNvLSJVJvzBC1BJwJkP6cvwFyDbn7syupjuLpUVUCpmfuB7FeTqJJYq8EFepxBLoUNMRSi/17385
2019-06-16 17:00:13,323 INFO [ctor.default-dispatcher-8] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/blocks/headers/seq/17367/17387
2019-06-16 17:00:13,805 INFO [miner-pool-32] c.w.mining.MinerImpl - Generate MicroBlock sequence, delay = 3 seconds
2019-06-16 17:00:16,806 INFO [miner-pool-32] c.w.mining.MinerImpl - Generate MicroBlock sequence, delay = 3 seconds
2019-06-16 17:00:18,193 INFO [ctor.default-dispatcher-8] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/transactions/unconfirmed
2019-06-16 17:00:18,196 INFO [ctor.default-dispatcher-2] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/node/version
2019-06-16 17:00:18,201 INFO [ctor.default-dispatcher-4] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/blocks/height
2019-06-16 17:00:18,203 INFO [ctor.default-dispatcher-2] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/consensus/basetarget
2019-06-16 17:00:18,211 INFO [ctor.default-dispatcher-2] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/blocks/height
2019-06-16 17:00:18,259 INFO [ctor.default-dispatcher-8] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/blocks/headers/last
2019-06-16 17:00:18,269 INFO [ctor.default-dispatcher-4] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/blocks/headers/seq/17367/17387
2019-06-16 17:00:18,276 INFO [ctor.default-dispatcher-8] c.w.a.h.CompositeHttpService - HTTP 200 OK from GET http://192.168.0.200:6816/blocks/delay/nLYTZ7aptcMWLMJUCcNvLSJVJvzBC1BJwJkP6cvwFyDbn7syupjuLpUVUCpmfuB7FeTqJJYq8EFepxBLoUNMRSi/17385

Could someone please point me in the right direction here. Since there is no errors in the log file, I don’t know where to even start finding the reason the matcher won’t enable.

Thanks

1 Like

my config contains additionally:

    # Minimum allowed order fee
    min-order-fee = 300000

    # Fee of order match transaction
    order-match-tx-fee = 10000

    # Matcher's directories
    matcher-directory = ${waves.directory}"/matcher"
    data-directory = ${waves.matcher.matcher-directory}"/data"
    journal-directory = ${waves.matcher.matcher-directory}"/journal"
    snapshots-directory = ${waves.matcher.matcher-directory}"/snapshots"

    # Snapshots creation interval
    snapshots-interval = 1d

    # Invalid/Expired orders cleanup interval
    order-cleanup-interval = 5m

    # Maximum allowed amount of open orders
    max-open-orders = 200

    # Maximum allowed amount of orders retrieved via REST
    rest-order-limit = 100

Feel free to try

Thanks brox,

Sadly no change.

I got the matcher working by downgrading node versions. It looks like every version after 0.17.1 does not start the macther (Maybe it needs a missing config entry or maybe it’s a bug). I now have it listening off port 6886. :smile:

root@de3697003885:/# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:6886 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6864 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6869 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.11:35189 0.0.0.0:* LISTEN
tcp 0 0 172.18.0.2:6869 192.168.0.18:21994 ESTABLISHED
tcp 0 0 172.18.0.2:6869 192.168.0.18:21995 ESTABLISHED
tcp 0 0 172.18.0.2:6869 192.168.0.18:21992 ESTABLISHED
tcp 0 0 172.18.0.2:6869 192.168.0.18:22013 ESTABLISHED
tcp 0 0 172.18.0.2:6869 192.168.0.18:21996 ESTABLISHED
udp 0 0 127.0.0.11:53152 0.0.0.0:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] STREAM CONNECTED 35008482
unix 2 [ ] STREAM CONNECTED 35008480

1 Like

The matcher doesn’t ship with the node after some version (maybe it is 0.17.1) and should be installed separately.

1 Like

With version 1.0.0 - 1.0.1 in the waves.conf file there is no longer a piece of code:

Matcher settings

matcher {
# Enable / disable matcher
enable = yes

 # Matcher's account address
 account = "YOUR ADDRESS WALLET"

 # Matcher REST API bind address
 bind-address = "YOUR IP DROPLET"

 # Matcher REST API port
 port = 6886

}

How to install matcher separately?

How to reactivate Matcher?

I would also like to know. Can any DEV perhaps share this with us?

Here https://github.com/wavesplatform/dex/releases are the binaries and the docs

1 Like

Hi brox,

Can you say how to create own matcher?

I didn’t installed it myself, but I am sure it can be done the same way as installing node. Just use different binaries and config file. Have you tried the link above?

yeah but am getting errors. i don’t know how resolve that